1

マングースでのクエリに問題があります。アドバイスを探しています。

要素が配列内にある場合は、コレクションからいくつかの要素を取得する必要があります。説明するのは難しいですが、これが取引です:現在のユーザーが受信者の中にいる場合はメッセージを受け取る必要があります

var Message = new Schema({
    recipients: [{
        pseudo: {type: String},
        slug: {type: String, index: true}
    }],
    sender: {
        pseudo: {type: String},
        slug: {type: String, index: true}
    },
    content: String,
    dateCreated: {type: Date, default: Date.now},
    readBy: [{
        pseudo: String,
        slug: String,
        date: Date
    }]
});

同様に、未読メッセージをチェックするときに、ユーザーがreadBy配列に含まれていない場合は、いくつかのメッセージを取得する必要があります。

$ in演算子の使用方法は知っていますが、逆に機能します。この種のクエリを実行することは可能ですか?

編集:$ elemMatch演算子について知りました。最初の問題では問題なく動作しますが、未読メッセージにどのように使用するかわかりません。そこにNOT句を追加することは可能ですか?

4

0 に答える 0