我是mongodb的新手,也是Node的新手,并尝试以最谨慎的方式插入集合,以便充分了解如何充分利用mongodb的文档。
collection.insert的文档声明对于mongo shell:WriteResult()是一个包装器,它包含mongo shell write方法的结果状态。 MongoDB手册2.6指出db.collection.insert()返回:单个插入的WriteResult对象或批量插入的BulkWriteResult对象。
这仅适用于mongo shell和Java驱动程序吗?
练习插入Node.js的一些简单代码如下:
var mongo = require('mongodb'),
dbHost = '127.0.0.1',
dbPort = 27017;
var Db = mongo.Db;
var Connection = mongo.Connection;
var Server = mongo.Server;
var db = new Db ('local', new Server(dbHost, dbPort), {w:1});
db.open(function(error, dbConnection){
if (error) {
console.error(error);
process.exit(1);
}
console.log('db state: ', db._state);
items = [ { name: 'John' }, { name: 'Joel'} ];
dbConnection.collection('messages', {w:1}, function(error, coll){
if (error) {
console.error(error);
process.exit(1);
}
coll.insert(items, function(error, result) {
if (error) {
console.error(error);
process.exit(1);
}
console.info('created/inserted: ', result);
db.close();
process.exit(0);
});
});
});
这似乎是尽可能直接的,如果要将WriteResult返回到Node.js方式中插入内部回调的任何地方。所以我唯一的结论是Node.js的mongodb驱动程序不提供WriteResult。
是否有一个很好的资源可以让这个更清楚,或者我有一些误解?任何想法/帮助将不胜感激!