1

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

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 正在按预期工作,但有人知道我该如何实现这一目标吗?

谢谢

4

1 回答 1

1

使用 MongoDB 查询这是不可能的。

MongoDB 的查询引擎遍历集合中的文档(如果有有用的文档,则遍历索引),并按照找到它们的顺序返回与您的查询匹配的任何文档。在查询中出现一次、两次还是一百次都没有区别:带有ofb的文档与查询匹配并在 MongoDB 找到它时返回一次。_idb

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

于 2013-06-11T20:04:35.067 回答