[英]Getting an array inside a nested JSON using $http.get (mongoose with nodejs)
我有这个JSON,它代表一个公寓清单:
{
"_id": {
"$oid": "5673d1dcf93fe452d80c2c2c"
},
"street": "myStreet",
"buildingNumber": 1,
"apartmentNumber": 1,
"UsersAndQuestions": [
{
"userID": "5673afe4cb62303816bd3d5c",
"questionID": [
"5669d90a058ceddc158e97e2",
"4668d80b158ceggc158e97f2"
]
}
]
}
我想获取某个userID
的questionID
userID
数组。
我正在使用此http.get
尝试获取它:
app.get('/api/listing/getQuestionsOfUserInListing/:userid/:listingid', function (req, res) {
var user = req.params.userid;
var listing = req.params.listingid;
Listing.find({
$and: [
{_id: listing},
{'UsersAndQuestions.userID': user}
]
}
, function (err, result) {
res.json(result);
});
});
但是我只是找回了整个 JSON(恰好是我在问题开始时发布的那个)。
我怎样才能得到
"questionID": ["5669d90a058ceddc158e97e2", "4668d80b158ceggc158e97f2"]
?
谢谢!
如此处所述,您可以使用以下投影来做到这一点:
Listing.findOne( {_id: listing, 'UsersAndQuestions.userID': user},
{_id: 0, 'UsersAndQuestions.$': 1},
function (err, result) {
res.json(result.UsersAndQuestions[0].questionID);
});
PS另外,我没有看到您需要在此处使用$ and运算符的任何原因。 从文档 :
复合查询可以为集合文档中的多个字段指定条件。 隐式地,逻辑AND连接将复合查询的子句连接起来,以便查询选择集合中符合所有条件的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.