天天看點

MongoDB 操作手冊CRUD插入插入操作

插入操作

插入記錄

1.插入一條記錄 db.testData.insert({num:1,name:'a'}); 結果 WriteResult({ "nInserted" : 1 })

2.檢視插入的記錄 db.testData.find();

插入數組

1.定義數組 var arr = [{num:1,name:'a'},{num:2,name:'b'},{num:3,name:'c'}];

2.插入記錄 db.testData.insert(arr);

結果 nInserted顯示插入了幾條資料

BulkWriteResult({

"writeErrors" : [ ],

"writeConcernErrors" : [ ],

"nInserted" : 3,

"nUpserted" : 0,

"nMatched" : 0,

"nModified" : 0,

"nRemoved" : 0,

"upserted" : [ ]

})

批量插入多條資料

bulk是2.6的新特性

1.初始化指定集合的批處理操作構造器 var bulk = db.testData.initializeUnorderedBulkOp();  //初始化未排序的批處理操作

這個操作傳回一個維護着操作清單的未排序操作構造器。未排序的意思是MongoDB可以同步執行沒有順序的多個操作。

如果期間發生錯誤,将繼續執行後續操作。

也可以建構一個有序的操作構造器,檢視db.collection.initializeOrderedBulkOp();

2.将插入操作添加進bulk對象中

bulk.insert({num:4,name:'d'});

bulk.insert({num:5,name:'e'});

3.執行批處理

bulk.execute();

傳回批處理的結果,nInserted表示插入幾條,如果期間發生錯誤,将包含在結果中。

BulkWriteResult({

"writeErrors" : [ ],

"writeConcernErrors" : [ ],

"nInserted" : 2,

"nUpserted" : 0,

"nMatched" : 0,

"nModified" : 0,

"nRemoved" : 0,

"upserted" : [ ]

})

額外的例子和方法

db.collection.update() method, 

db.collection.findAndModify(),

db.collection.save()

這幾個方法也可以執行插入操作。

繼續閱讀