【发布时间】:2020-08-17 04:12:56
【问题描述】:
我有一个返回字符串 MongoDB id 列表的进程,
[512d5793abb900bf3e20d012, 512d5793abb900bf3e20d011]
我想向 Mongo 发起一个查询,并以与列表相同的顺序获取匹配的文档。
执行此操作的 shell 符号是什么?
【问题讨论】:
标签: mongodb
我有一个返回字符串 MongoDB id 列表的进程,
[512d5793abb900bf3e20d012, 512d5793abb900bf3e20d011]
我想向 Mongo 发起一个查询,并以与列表相同的顺序获取匹配的文档。
执行此操作的 shell 符号是什么?
【问题讨论】:
标签: mongodb
【讨论】:
这对我来说在 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 列表即可文档。
【讨论】: