我有一个返回字符串 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/