【发布时间】:2017-03-14 22:13:36
【问题描述】:
如你所知,{$in: {_id: []}} 不遵守秩序。
我想为此目的使用 Async.js。
例如
const ids = [3,1,2]; // Initial ids, I get it from aggregation
const documents = [{_id:1}, {_id:2}, {_id: 3}]; // That's I get from MongoDB
const result = [{_id:3}, {_id: 1}, {_id: 2}] // That's I need
如何使用 Async.js 执行此操作?我将mongoose.js 与mongoose-fill 一起使用,这不适用于aggregation
【问题讨论】:
-
收集所有结果然后只使用 JS sortBy 任何你喜欢的参数有什么问题?
-
我不太明白你的意思。就像我想的那样,我必须编写两个循环: var result = []; for(var i=0;i
-
检查我的答案。简单总是更好。也许我想念你的问题。但根据我所见,您需要对所有查询的结果进行排序。这可以在 JS 中完成。但是如果你想一个一个地查询每个id,然后对数组进行排序。我建议只使用一个查询。这大大提高了性能。
-
我已经收到了来自MongoDB的文档,但是顺序参数不匹配。我想对文档进行与参数数组完全相同的排序。
-
你见过stackoverflow.com/questions/22797768/…吗?那里的答案有很多选择。
标签: javascript mongodb async.js