0

でドライバーをmongodb使用してデータを挿入しています。mongodbnodejs

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。また、1 つの db クエリに挿入したいと考えています。

4

1 に答える 1

2

オブジェクトは正しく挿入console.logされています。デフォルトでは 2 レベルのオブジェクトの詳細のみが表示されます。すべてのオブジェクト レベルを表示するには、util.inspect直接呼び出す必要があるため、次のように制御できます。

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