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/