Mongo,通过ID列表查找

Wil*_*ill 51 mongodb

我有一个返回String MongoDB ID列表的进程,

[512d5793abb900bf3e20d012, 512d5793abb900bf3e20d011]
Run Code Online (Sandbox Code Playgroud)

我想向Mongo发出一个查询,并以与列表相同的顺序返回匹配的文档.

这样做的shell表示法是什么?

Joh*_*yHK 89

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

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


Ami*_*ini 11

这在 Robo 3T 中对我来说效果很好。无需创建任何对象,只需使用 id 列表即可。

db.getCollection('my_collection').find({'_id':{$in:['aa37ba96']}})
Run Code Online (Sandbox Code Playgroud)