mongodb命令總結

如下是前一段時間作項目涉及到mognodb的一些命令的總結(之後若是有會繼續完善)linux

mongodb查詢某條件下的數量mongodb

db.accountMongoEntity.find({libraryno:'A450000GXG'}).count();數據庫

刪除某字段爲某值的數據json

db.accountMongoEntity.remove({libraryno:'A450000GXG'});服務器

查詢值爲‘null’字符串的數據量:網站

db.accountMongoEntity.find({libraryno:'null'}).count();ui

 

查詢某個字段值爲空的數據量.net

db.accountMongoEntity.find({upperUid:{$in:[null]}}).count();blog

查詢某個字段值不爲空的數據量索引

db.accountMongoEntity.find({upperUid:{$ne:null}}).count();

 

 

mongodb查詢索引

db.accountMongoEntity.getIndexes();

mongodb建立索引:

db.accountMongoEntity.ensureIndex({'upperUid':1});

 

用命令導入mongodb數據(重要)

./mongoimport --db idm --host 127.0.0.1:27017 --authenticationDatabase=idm -u bkmanager -p execute2017*go --file /usr/Netauth/accountMongoEntity.json

參考網站 :http://blog.csdn.net/zwyjg/article/details/52243136

詳細步驟:

1.進入linux的mongodb的安裝目錄下的bin目錄下(/usr/local/mongodb/bin);

2.執行上面的命令語句,其中:

--db 後面跟數據庫名

--host 跟服務器地址ip和端口

--authenticationDatabase 後面跟要認證的數據庫名

-u 表示認證的帳號

-p 表示認證的密碼

--file 表示文件導入(--out 表示導出)

最後面是要導入的json文件的詳細路徑(包含文件名)

 

分頁查詢

1.官方推薦

db.mongolist.aggregate([

{$group:{ _id:"$_id",count:{$sum:1}}},

{$match:{value:{$gte:2}}}

])

 

2.本身總結

按idno進行分組查詢,並統計每一個的數量(重要):

db.accountMongoEntity.aggregate([ { $group: {"_id": { "idno" : "$idno"},count:{$sum:1}}}, {$match:{count:{$gte:2}}} ],{ allowDiskUse: true });

期中allowDiskUse:true表示放開內存限制

 

查詢mongodb的一個集合並作更新操做(直接能夠遍歷整個集合中的每一條記錄,並對每一條進行修改操做,記錄過期間,處理500萬數據量,將近3小時):

var obj= db.accountMongoEntity.find({});

var count = 0;

while(obj.hasNext()){

    count++;

 var per = obj.next();

db.accountMongoEntity.update({_id:per._id},

     {$set:{upperUid:per.uid.toUpperCase()}}

    ,false,true)

}

printjson("總共用戶數:"+count);

相關文章
相關標籤/搜索