簡體   English   中英

對象內部數組的Collection.find()

[英]Collection.find() for array inside object

我有一個Meteor應用,其中包含聊天群組的集合。 此集合中的每個文檔如下所示:

{groupname: 'name', whitelist: ['person1', 'person2', 'person3'], messages:['message1', 'message2', 'message3']}

要向每個有帳戶的人顯示他們屬於哪個組,我需要一個頁面,其中包含允許他們進入的那些組的列表。如何使用find()命令返回所有白名單數組包含以下內容的文檔:用戶名?

像這樣:

ChatGroups.find({whitelist: Meteor.user().username});

假設username是您要匹配的屬性。 在這種情況下,您無需執行任何特殊操作即可在數組中進行搜索-mongo將做正確的事(將username與每個whitelist每個元素進行比較,並返回匹配的文檔)。

要按數組項在MongoDB中搜索-使用$in運算符:

ChatGroups.find({
   whitelist: {
      $in: [Meteor.user()._id]
   }
});

參考: 比較查詢運算符> $ in

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM