这个问题在这里已有答案:
我是MongoDB的新手,我想知道是否可以按照我在数组中指定的顺序通过Id获取文档 . 我正在使用官方的c#驱动程序 .
Problem Description
我在这个集合中有一些文件
{
"_id" : "1",
"Name" : "Assignment 1"
}
至
{
"_id" : "100",
"Name" : "Assignment 100"
}
我有一个Ids数组 { "4", "19", "10", "6" }
,我需要的是获取与数组中相同顺序指定的文档 .
这些是我尝试过的查询
{“_ id”:{“$ in”:[“4”,“19”,“10”,“6”]}}
{ "$or" : [{ "_id" : "4" }, { "_id" : "19" }, { "_id" : "10" }, { "_id" : "6" }] }
但是这两个查询都按以下顺序返回文档
但我的预期结果是
我现在面前的唯一选择是为数组中的每个元素单独生成db请求,我认为这是一个不好的选择 .
你们中的任何人都可以引导我按照我在阵列中指定的顺序获取文档 . 我正在使用MongoDB C#驱动程序并期待基于C#的答案 .
谢谢,
卡皮尔
1 回答
好吧,我终于设法使用Aggregation框架来完成这项工作 .
这就是我实现它的方式 . 但如果有人能提出比这更好的方法,我会很高兴 .