插入操作
插入记录
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()
这几个方法也能够运行插入操作。