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

深くネストされた配列の更新クエリをmongodbで作成するにはどうすればよいですか?

    positional $をお試しください クエリドキュメントに一致する最初の要素のプレースホルダーとして機能する更新の演算子。使用するときは、cardsを確認してください。 配列フィールドは、クエリドキュメントの一部として表示される必要があります。あなたの場合、cardsを追加したいと思います 'cards'に文書化する 配列。ただし、cardIdの場合のみ 存在しません:

    var query = {        
        "cardInfo.cards.cardId": { "$nin": ["somecardid"] }
    };
    var update = {        
        "$push": {
            "cardInfo": { "customerId": "25934285649875" },
            "cardInfo.$.cards": {
                cardId: "somecardid",
                cardType: "type",
                createdAt: new Date().toISOString(),
                isActive: true
            }
        }
    };
    
    Customer.update(query, update, function (err, result) { ... }); 
    



    1. マングースを使用した動的スキーマの作成

    2. MongoDB $ replaceAll

    3. embedmongodbde.flapdoodle.embed.mongoを使用したjunitテストケース

    4. Docker [Errno 111]接続呼び出しが失敗しました( '127.0.0.1'、6379)