我需要让其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正如预期的那样工作,但有没有人知道如何实现这一目标?
由于
答案 0 :(得分:1)
使用MongoDB查询无法做到这一点。
MongoDB的查询引擎遍历集合中的文档(如果有一个有用的文档,则遍历索引)并按照查找顺序返回与您的查询匹配的任何文档。 b
在查询中是出现一次,两次还是一百次没有任何区别:_id
b
的文档与查询匹配,并在MongoDB找到时返回一次。< / p>
您可以使用编程语言执行后处理步骤,以便根据需要多次重复文档。