我使用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'}] }]
请注意我不想使用mongodb
以外的任何其他npm模块。
我也希望在一个数据库查询中插入。
答案 0 :(得分:2)
您的对象正确插入,只是console.log
默认只显示两级对象详细信息。要显示所有对象级别,您需要直接调用util.inspect
,以便控制:
console.log(util.inspect(models, {depth: null}));