mongodb - Mongo,通过 id 列表查找

我有一个返回字符串 MongoDB id 列表的进程,

[512d5793abb900bf3e20d012, 512d5793abb900bf3e20d011]

我想向 Mongo 发起一个查询,并以与列表相同的顺序获取匹配的文档。

执行此操作的 shell 符号是什么?

最佳答案

将字符串转换为 ObjectIds 后,您可以使用 $in运算符以获取列表中的文档。没有任何查询符号可以让文档按您的列表顺序返回,但请参阅 here了解一些处理方法。

var ids = ['512d5793abb900bf3e20d012', '512d5793abb900bf3e20d011'];
var obj_ids = ids.map(function(id) { return ObjectId(id); });
db.test.find({_id: {$in: obj_ids}});

https://stackoverflow.com/questions/15102532/

相关文章:

mongodb - MongoDB 的 'lost data' 批评在多大程度上仍然有效?

javascript - 如何获取在另一个模型中定义的 Mongoose 数据库的架构

security - MongoDB:使用文档 ID "in public"是否安全?

mongodb - NoSQL 最佳实践

date - 在MongoDB中按日期分组

javascript - 在 javascript 中创建一个 ISO 日期对象

mongodb - 将对象插入 Mongoose 中的数组模式

javascript - 是否可以在 javascript 执行中写入 mongodb 控制台?

php - MongoDB 和 CodeIgniter

mongodb - 如何在 docker 容器中启动 mongodb shell?