我用mongoose查詢我的mongodb,但我不明白爲什麼返回的子文檔只是Object類型而不是JSON。貓鼬,子文檔是對象,而不是json
使用
hero.find({} ,{'deck' : {$elemMatch:{name:'Guard Tower'}}}, function(err, tower) {
console.log(tower);
}
回報
[ { _id: 507ac406ba6ecb1316000001,
deck:
[ { name: 'Guard Tower',
description: 'This tower shoots stuff.',
cost: 13,
sellValue: 7,
radius: 180,
speed: 40,
dmg_min: 0,
dmg_max: 0,
actual_height: 40,
sprite: 'guardtower_red.png',
anim: [Object],
size: [Object],
projectile: [Object],
upgrade: [Object] } ] } ]
子文檔喜歡動畫,大小,彈丸,升級,是對象,我需要嵌套的信息,我怎樣才能得到這些信息?不做另一個查詢?
使用['lean'](http://mongoosejs.com/docs/api.html#query_Query-lean)將返回非JSON的POJO。此外,如果您有任何虛擬字段或特殊的getter函數,它們將不會被應用,因此不會出現在POJO中。假設模式具有'getters:true'的另一種方法是將''JSON''(http://mongoosejs.com/docs/api.html#document_Document-toJSON)方法用於貓鼬文檔,如下所示:'console。日誌(tower.toJSON())' –
是的。傑森真的是這樣。任何虛擬領域或獲得者將被錯過。 –