MongoDB按对象数组过滤

时间:2014-11-27 17:19:29

标签: mongodb mongodb-query

我有一个包含ObjectID数组的文档供参考。该数组不是关联数组,它只是ObjectIDS:

{
  ...
  "tags" : [ 
    ObjectId("54744662ae8a0be602568c4f")
  ]
}

现在我尝试根据该数组进行过滤,如下所示:

db.expenses.find({
  tags:{
    $elemMatch:{ObjectId("547469bb0bde915a05f74299")}
  }
})

我知道$ elemMatch上的投影是错误的,但我不知道该怎么做,Google也没有必要帮助,因为大多数示例都是针对json对象的数组具有已定义的属性。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:4)

如果我的问题正确,那就是答案

db.expenses.find(
{
  tags: {$in : [ObjectId("54744662ae8a0be602568c4f")]}  
})