向mongodb查询添加javascript对象

向mongodb查询添加javascript对象,mongodb,Mongodb,我有一个复杂的查询,它使用聚合框架和$sort子句,根据一些条件按从最好到最坏的顺序生成一个用户列表。例如 const result = [u1, u2, u3]; 因此,这可以被视为: User Rank u1 1 u2 2 u3 3 我有一个包含用户、位置字段的集合。我想创建一个查询,以便将秩作为查询投影阶段的一部分附加到集合: User Location UserRank u1 China 1 u1 Brazil 1 u2 China

我有一个复杂的查询,它使用聚合框架和$sort子句,根据一些条件按从最好到最坏的顺序生成一个用户列表。例如

const result = [u1, u2, u3];
因此,这可以被视为:

User Rank
u1   1
u2   2
u3   3
我有一个包含用户、位置字段的集合。我想创建一个查询,以便将秩作为查询投影阶段的一部分附加到集合:

User  Location UserRank
u1    China     1
u1    Brazil    1
u2    China     2
u3    Australia 3
然后使用min分组,以获得:

Location BestUserRank
China     1
Brazil    1
Australia 3
在聚合函数中使用min()很容易做到这一点,但首先我不知道如何将这些列组连接到查询中

我觉得我应该能够做到:

$project: {
  user: 1,
  location: 1,
  rank: { $rank: { field: '$user', dictionary: rankDictionary }
}

但据我所知,mongodb不允许你做这样的事。

不知道你在说什么。如果您显示MongoDB文档,以及您实际期望在这里发生的事情,就会更加清楚。编写“不存在的”伪代码对您的情况没有帮助,而且更可能被解释为非常简单。最接近的问题是如何加入两个mongodb集合。我在问如何将mongodb集合与javascript对象连接起来。看来我将不得不使用相同的map-reduce方法。