Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按ObjectId数组进行MongoDB筛选_Mongodb_Mongodb Query - Fatal编程技术网

按ObjectId数组进行MongoDB筛选

按ObjectId数组进行MongoDB筛选,mongodb,mongodb-query,Mongodb,Mongodb Query,我有一个文档,它有一个objectid数组供参考。该数组不是关联数组,它只是ObjectId: { ... "tags" : [ ObjectId("54744662ae8a0be602568c4f") ] } 现在我尝试基于该数组进行筛选,如下所示: db.expenses.find({ tags:{ $elemMatch:{ObjectId("547469bb0bde915a05f74299")} } }) 我知道$elemMatch上的投影是错误的

我有一个文档,它有一个objectid数组供参考。该数组不是关联数组,它只是ObjectId:

{
  ...
  "tags" : [ 
    ObjectId("54744662ae8a0be602568c4f")
  ]
}
现在我尝试基于该数组进行筛选,如下所示:

db.expenses.find({
  tags:{
    $elemMatch:{ObjectId("547469bb0bde915a05f74299")}
  }
})
我知道$elemMatch上的投影是错误的,但我只是不知道如何做,而且谷歌也没有帮助我们,因为大多数示例都是用于和具有定义属性的json对象数组


有人知道怎么做吗

如果我没弄错你的问题,这就是答案

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

你不需要
$in
因为它只是一个值,所以它可以是
标记:ObjectId(“54744662ae8a0be602568c4f”)
@JohnnyHK是对的,但是我用$in搜索多个ObjectId如果需要的话我现在感觉很傻,你的权利,我不知道为什么我没有尝试这个。我觉得数组的事情让我觉得它应该是不同的。谢谢