javascript - 在 MongoDB 中查找包含字符串 ID 数组的文档

标签 javascript arrays mongodb objectid

我有一个 id 的字符串数组,我想将其与 find 函数一起使用。

db.companies.find( { _id : { $in : arr} });

arr 看起来像这样,

[ '563a2c60b511b7ff2c61e938', '563a2c60b511b7ff2c61e8b7' ];

我从documentation看到ObjectID() 不接受数组。如何使用此数组搜索文档列表?我是否必须重新创建数组以便所有元素都是 ObjectID?

最佳答案

一种选择是使用 map 函数从字符串 ID 列表中获取 ObjectId 的列表:

arr.map(function (id) {
  return ObjectId(id);
})

插入您的查询:

db.companies.find({_id: { $in: arr.map(function (id) {return ObjectId(id);})}})

关于javascript - 在 MongoDB 中查找包含字符串 ID 数组的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34300563/

相关文章:

python - python中的矩阵镜像

javascript - TypeError : Post. create 不是 mongodb 的函数

java - 在单个查询中按 ObjectId 按顺序加载多个对象的最佳方法?

php - 将两个数组合并为一个(追加)

c - 将字符串添加到链表会导致段错误

node.js - mongoose 查询在 Node.js 中不起作用,但在 mongo shell 中起作用

javascript - React Native 视频无法播放本地文件

MDN 中的 JavaScript 接口(interface)

javascript - 从数据表中删除一行

javascript - 函数能否确定该函数的最后一次调用是否在事件循环中同步发生?