node.js - 查找包含 objectIds 数组的文档

标签 node.js mongodb aggregation-framework

我有一个表示为字符串的 objectId 数组。

["594c7a30f8f774268a2cdd14","594c7a30f8f774268a2cdd13"]

在我的聚合中,我使用该数组以及其他字段动态构建一个匹配对象。

match["_id"] = { $in: classes};

这不起作用,我认为因为它只是一个字符串数组,而不是像 ObjectId("594c7a30f8f774268a2cdd14") 这样的 objectID。

如何构建匹配以便 _id 搜索适用于数组?

最佳答案

我能够通过更改匹配来使其工作

match["_id"] = { $in: classes};

match._id = { $in: classes.map(mongoose.Types.ObjectId)};

map 功能正是我所需要的。

关于node.js - 查找包含 objectIds 数组的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45962594/

相关文章:

node.js - 在中间件 node.js express 框架中设置 header

node.js - MongoDB 无法获取所有行

node.js - 启动 nodejs : openssl config failed 时出错

mongodb - 如何在solr 4中导入和索引mongodb数据

MongoDB 数组中对象的聚合总和

MongoDB 计算与查询匹配的文档的真值和假值总数

node.js - 如何计算mongoDB中唯一数据的数量

javascript - Node.js 应用程序中的领域驱动设计

mongodb - 每小时更新数据库(mongo)的最佳方法?

node.js - 使用 mongoose 连接到 Mlab