mongoose를 사용하여 mongodb를 쿼리하고 있지만 반환 된 하위 문서가 JSON 대신 Object 유형 인 이유를 이해하지 못합니다.Mongoose, 하위 문서가 json이 아닌 개체입니다.
사용
hero.find({} ,{'deck' : {$elemMatch:{name:'Guard Tower'}}}, function(err, tower) {
console.log(tower);
}
반환 ANIM, 크기, 발사체, 업그레이드 등의
[ { _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가 반환됩니다. 또한 가상 필드 나 특수 게터 기능이있는 경우 적용되지 않으므로 POJO에 표시되지 않습니다. 스키마에'getters : true '가 있다고 가정하면 몽구스 문서에 대해''toJSON' (http://mongoosejs.com/docs/api.html#document_Document-toJSON) 메소드를'console로 사용하는 것입니다. log (tower.toJSON())' –
예. 그건 사실이야 제이슨. 모든 가상 필드 또는 게터가 누락됩니다. –