MongoDB按objectIds数组过滤

标签 mongodb mongodb-query

我有一个文档,其中包含一组 ObjectID 供引用。该数组不是关联数组,它只是 ObjectIDS:

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

现在我正在尝试根据该数组进行过滤,如下所示:
db.expenses.find({
  tags:{
    $elemMatch:{ObjectId("547469bb0bde915a05f74299")}
  }
})

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

有谁知道如何做到这一点?

最佳答案

如果我正确地解决了您的问题,这就是答案

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

关于MongoDB按objectIds数组过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27176043/

相关文章:

java - Spring 启动 mongoDB jar

MongoDB - 如何查询没有任何空格的字符串(省略带空格的字符串)和长度

mongodb - 根据数组内的条件从数组中获取不同的值

go - 如何在json中按深层排序在mongo中获取20个文档?

node.js - 返回 MongoDB 中具有不同字段和 1 个选择查询的整个文档

mongodb - 来自 MongoDB 的 alpha 驱动程序的简单 CRUD 示例

javascript - GraphQL 大整数错误 : Int cannot represent non 32-bit signed integer value

javascript - 将更改推送到已部署的 Meteor.js 应用程序

mongodb - Mongodb 写入的原子性

mongodb - 嵌入文档的聚合平均值