我发现很多关于访问数组中的数组和数组中的对象的问题,但是我找不到任何关于此的内容。 我正在使用NodeJS和MongoDb,这是我正在使用的文档“航空公司”的一个例子。我正在尝试检索和编辑捕获对象数组中的飞行对象。
{
"_id": "548653018d49c56c1fc11425",
"name": "British Airways",
"icao": "BAW",
"captures": [{
"startDate": 1417910400,
"endDate": 1417996800,
"flights": [{
"ident": "BAW7411",
"departuretime": 1417910400
},
{
"ident": "BAW7411",
"departuretime": 1417910400
}]
}]
}
如果我想检索“ident”值为“BAW7411”且“出发时间”值为“1417910400”的航班对象,我的查询应该是什么样的?我尝试过以下几种变体:
db.collection('airlines', {safe:true}, function(err, collection) {
collection.find({"captures": {
$elemMatch: {
"flights" : {
$elemMatch: {
"ident": "BAW7411",
"departuretime": "1417910400"
}
}
}
}
}, function(result, response){
printJSON(result);
});
});