sql >> データベース >  >> NoSQL >> MongoDB

ネストされたオブジェクトプロパティでMongoDB$neを使用する方法

    $neの使用方法に関する質問への回答 :

    $neの使用 は次のとおりです:

    "field":{
      "$ne": yourValue
    }
    

    クエリには次のようになります:

    "user._id": {
      "$ne": req.user.id
    }
    

    こちら

    $ne 演算子は、フィールド値が指定された値と一致しないすべてのドキュメントを返します。

    行ったように、ネストされたフィールドにアクセスするには、ドット表記を使用する必要があります。

    また、スキーマで_idが定義されている場合は、確実に機能するようにします。 ObjectIdとして req.user.idを解析する必要があるかもしれません ObjectIdへ 。
    ただし、スキーマに文字列がある場合は機能するはずです。

    だから試してみてください(まったくテストされていません):

    const injected = {
      'user._id': { "$ne": req.user.id }
    };
    



    1. SailsJSとMongoの一意の属性は無視されます

    2. MongoDBが等しくない

    3. Mongodbドット表記ワイルドカード?

    4. Play-MongoDBおよびJava8で使用されるFramework2.4.x