在Mongodb中,如何在使用collection.insert和Node.js时理解WriteResult的文档?

时间:2015-02-01 20:19:30

标签: node.js mongodb

我是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。

是否有一个很好的资源可以让这个更清楚,或者我有一些误解?任何想法/帮助将不胜感激!

0 个答案:

没有答案