1

保存:

   var pageListSchema = new Schema({
    pid:String,
    name:String,
    eName:String,
    pages:[{name:String,id:String,type:String}]
    });
    var pageList = db.model('pageList',pageListSchema);
    var p = new pageList({pid:getId,name:getName,eName:getEName,pages:[{name:"html",id:"0",type:"0"}]});
    p.save();

読んだ:

pageList.find({pages:[{id:"0"}]},function(err,data){
    console.log(data);
});
pageList.find({pages:{$elemMatch:{id:"0"}}},function(err,data){
    console.log(data);
});

結果:

[ { _pid: '510a3e793f30c5980f000001'
name: 'cc',
eName: 'cc',
_id: 510a3e803f30c5980f000002,
__v: 0,
pages: [ '[object Object]' ] } ]

データの読み取り方法は 2 つありますが、オブジェクトではなく文字列を取得した理由

4

1 に答える 1

0

console.log渡されたオブジェクトを文字列util.inpsectにフォーマットする呼び出し。dataデフォルトでは、このメソッドはオブジェクトの深さ 2 レベルまでしか再帰しないため、pages要素の内容はフォーマットされません。

のすべてのレベルの完全な出力を取得するにはdata:

console.log(util.inspect(data, false, null));
于 2013-01-31T14:05:52.200 に答える