我需要獲取其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正在按預期工作,但是有沒有人有關於我如何實現這一點的想法?
謝謝
'$ in'查詢將返回_all_匹配的文檔,而不僅僅是每個文檔中的第一個;所以它應該已經在做你想做的了。 – JohnnyHK
_id具有唯一的索引,因此集合中不能有多個具有相同_id值的文檔。如果在$ in [array]中提到兩次_id,我懷疑你想要的是爲同一個文檔返回兩次。 –
@JohnnyHK:實際上不是,按照我所描述的那樣工作,它與單詞「in」的含義完全一致作爲事實 – Peterdeka