我有一个返回字符串 MongoDB id 列表的进程,
[512d5793abb900bf3e20d012, 512d5793abb900bf3e20d011]
我想向 Mongo 发起一个查询,并以与列表相同的顺序获取匹配的文档。
执行此操作的 shell 符号是什么?
我有一个返回字符串 MongoDB id 列表的进程,
[512d5793abb900bf3e20d012, 512d5793abb900bf3e20d011]
我想向 Mongo 发起一个查询,并以与列表相同的顺序获取匹配的文档。
执行此操作的 shell 符号是什么?
这对我来说在 Robo 3T 中效果很好。无需创建任何对象,只需使用 id 列表。
db.getCollection('my_collection').find({'_id':{$in:['aa37ba96']}})
// 请求中的 categoryId 逗号分隔“5c875c27d131b755d7abed86,5c875b0ad131b755d7abed81”
var ids= req.body.categoryId.split(',');
db.test.find({ categoryId: { $in: ids } });
如果您的最终目的是通过预先获取的 ids 列表获取具有顺序的文档,您可以将查询结果转换为 mapping(id as key, doc as value) ,然后遍历 ids 列表获取文档。