MongoDB $不仅仅是重复元素的一个结果

时间:2013-06-11 15:59:06

标签: mongodb mongodb-query

我需要让其ID包含在数组中的用户。为此,我使用$ in运算符,但是这是在聚合操作中,我想在数组中存在id的时候返回特定用户,而不仅仅是一个。例如:

The ids array is A=[a,b,c,b] and U(x) is user with id x
with users.find({_id:{$in:A}}) i get these users as result: U(a),U(b),U(c)
instead i'd like to get back the result: U(a),U(b),U(c),U(b)

所以每次出现id时都要让用户回来。

我知道$ in正如预期的那样工作,但有没有人知道如何实现这一目标?

由于

1 个答案:

答案 0 :(得分:1)

使用MongoDB查询无法做到这一点。

MongoDB的查询引擎遍历集合中的文档(如果有一个有用的文档,则遍历索引)并按照查找顺序返回与您的查询匹配的任何文档。 b在查询中是出现一次,两次还是一百次没有任何区别:_id b的文档与查询匹配,并在MongoDB找到时返回一次。< / p>

您可以使用编程语言执行后处理步骤,以便根据需要多次重复文档。