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

MongoDB$pull配列2レベル

    プレースホルダーはすでに配列内のその位置に移動しているため、完全な表記は必要ありません。

    db.junk.update(
        { "commandes.voyagesSouscrits.idVoyage": "123" },
        {$pull: { "commandes.$.voyagesSouscrits": { idVoyage: "123" } }}
    )
    

    この部分:

    idVoyage: { <query> }
    

    commandes。$。voyagesSouscrits」の位置演算子が必要な場合にのみ必要です。 "は最初のにのみ一致します クエリで見つかった配列の位置。

    http://docs.mongodb.org/manual/reference/operator/projection/positional/

    それが解決することを願っています。




    1. node.js用のブロッキングredisライブラリはありますか?

    2. フィールド''のオブジェクト'target'のフィールドエラー:拒否された値[];コード[typeMismatch.target。、typeMismatch。、typeMismatch.java.util.Date、typeMismatch]

    3. MongoDB-すべてのアイテムをループせずにJavaでコレクションをコピーします

    4. MongoDBの基本チュートリアル