0

我正在将数据插入到mongodb使用mongodb驱动程序中nodejs

var mongodb = require('mongodb');

var insert = function(uri, collectionName, data, next) {
    mongodb.MongoClient.connect(uri, function(err, driverDb) {  
      if(err) {
        next(err);
      } else {
        driverDb.collection(collectionName).insert(data,function(err,result) {
            if(err) {
                next(err);
            } else {
                driverDb.close(function (err) {
                    if(err) {
                        next(err);
                    } else {
                        next(null,result);
                    }
                });
            }
        });
      }
    });
};


insert('mongodb://localhost/mean-test','testcol',{ 
             a : 'Apple',
             b : [ { ba: 'Boy' }, {bb : 'Bird'} ]
        }, function(err,models) {
            console.log(models);
        });

上述结果如下:

[{a:'Apple', b : [[Object]] }]  

我如何做到这一点:

[{_id:ObjectId("someid"), a:'Apple', b : [{_id:ObjectId("someid"), ba: 'Boy' }, {_id:ObjectId("someid"), bb : 'Bird'}] }]

请注意,我不想使用任何其他 npm 模块,除了mongodb. 我也想插入一个数据库查询。

4

1 回答 1

2

您的对象插入正确,只是console.log默认情况下仅显示两个级别的对象详细信息。要显示所有对象级别,您需要util.inspect直接调用,以便您可以控制:

console.log(util.inspect(models, {depth: null}));
于 2013-09-14T13:07:18.110 回答