Я вставляю данные в mongodb
с использованием mongodb
драйвера в nodejs
.mongodb вставка поддокументов как: [Объект]
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
. также я хочу вставить в один запрос db.
когда я console.log (модели [0] .b [0] ._ идентификатор), я получаю не определено. почему так? – codeofnode
Элементы '' 'массива' 'не будут иметь свойства' _id', пока вы вручную не включите их в объект, который вы передаете 'insert'. – JohnnyHK