就像你知道from(u in User,
left_join: up in assoc(u, :user_projects),
where: up.project_id != ^project.id AND not(is_nil(up.project_id)),
select: {u.id, u.username})
没有保持秩序。
我想将Async.js用于此目的。
例如
{$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
与mongoose-fill无法使用mongoose.js
答案 0 :(得分:1)
这里你不需要异步。自然JavaScript排序将帮助您解决此问题。
要查询mongodb,只需使用像这样的查询
{_id : {$in: [1,2,3]}} ;
当您收到这样的结果时
const documents = [{_id:1}, {_id:2}, {_id: 3}];
现在你可以运行简单的排序
let result = documents.sort((a, b) => a._id < b._id);
console.log(result);
将按ID降序输出排序。
[{_id:3}, {_id: 2}, {_id: 1}];
希望这有帮助。