簡體   English   中英

檢查用戶是否正在與 $in 運算符進行對話

[英]Check if users are in conversation with $in operator

我怎樣才能讓我的代碼搜索兩個用戶 ID,但考慮到是否有更多用戶?

假設我的數據庫僅包含用戶 10 和 4 的 conv。

我的代碼:

return Conversations.findOne({"users.userid": { $in: SearchUsers }}).then(function (response) {
                return response;
        });

測試 1:具有 ids: [10,4] -> 的用戶將返回對話。 又名( true

測試 2:ID 為[10,4,8]的用戶 -> 此示例不會返回它。 即使 10 和 4 都在用戶中,因為其中有更多成員,因此不是他們一個人的私人。 ,因為它沒有匹配,即使有 10 和 4,也有一個 id 為 8 的用戶,它不存在。 false

我們的想法是制作像 facebook 一樣的群聊系統,在這個特定的問題上,檢查對話是否存在。

理想情況下,$searchUsers 可以包含 1-50 多個用戶 ID,如果所有用戶都在匹配中,我需要返回它,如果不是所有用戶都在其中,那么它不會返回任何用戶。

tryThe $all 操作符:它應該表現得像一個帶有 $in 的 $and

Conversations.findOne({"users.userid": { $all: SearchUsers }}).then(function (response) {
                return response;
        });

暫無
暫無

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

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