Mongo初学者,查询内部数组
Mongo beginner, query inner array
我正在尝试生成一个 mongo 查询,它将 return 所有 mktid=x 和 selctionid=y 的条目如下所示。 SelectionId 是 actors 数组的成员,如下所示。
我试过很多这样的东西
db.getCollection('mycollection').find({mktid:"334455555",'actors.selectionId' : "443311555"})
和
db.getCollection('mycollection').find({mktid:"334455555",'actors.0.selectionId' : "443311555"})
数据库:
{
"_id": {
"$oid": "55098030e4b02da345b0a2ed"
},
"mktid": "55555555",
"dubious": false,
"state": "OPEN"
"actors": [
{
"selectionId": 3333333,
"activityid": 0,
"status": "ACTIVE",
},
{
"selectionId": 4444445gg,
"activityid": 0,
"status": "ACTIVE",
},
{
"selectionId": xccfffff,
"activityid": 0,
"status": "ACTIVE",
}
]
}
{
“_ID”: {
“$oid”:“55098030e44b02da345b0a2ed”
},
"mktid": "5555552",
----
---
db.getCollection('mycollection').find({mktid:"334455555", actors: {
$elemMatch: {
selectionId: "443311555"
}
}
});
请参阅此处的 "Query an Array of Documents" 部分:http://docs.mongodb.org/manual/reference/method/db.collection.find/
我正在尝试生成一个 mongo 查询,它将 return 所有 mktid=x 和 selctionid=y 的条目如下所示。 SelectionId 是 actors 数组的成员,如下所示。
我试过很多这样的东西
db.getCollection('mycollection').find({mktid:"334455555",'actors.selectionId' : "443311555"})
和
db.getCollection('mycollection').find({mktid:"334455555",'actors.0.selectionId' : "443311555"})
数据库:
{
"_id": {
"$oid": "55098030e4b02da345b0a2ed"
},
"mktid": "55555555",
"dubious": false,
"state": "OPEN"
"actors": [
{
"selectionId": 3333333,
"activityid": 0,
"status": "ACTIVE",
},
{
"selectionId": 4444445gg,
"activityid": 0,
"status": "ACTIVE",
},
{
"selectionId": xccfffff,
"activityid": 0,
"status": "ACTIVE",
}
]
}
{ “_ID”: { “$oid”:“55098030e44b02da345b0a2ed” }, "mktid": "5555552", ---- ---
db.getCollection('mycollection').find({mktid:"334455555", actors: {
$elemMatch: {
selectionId: "443311555"
}
}
});
请参阅此处的 "Query an Array of Documents" 部分:http://docs.mongodb.org/manual/reference/method/db.collection.find/