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

Mongo C#2.0ドライバーを使用して埋め込みドキュメントを置き換える

    みんなありがとう。あなたの答えから、私は次の解決策を思いつきました:

    var mainDocumentId = "5807c22e959ca231f0c48a75";
    var arrayItemId = "5807cc08959ca331f09c530e"; //Id for foo
    
    var unit = new Unit(...)
    var filter = Builders<UnitType>.Eq(o => o.Id, mainDocumentId); // optional
    filter &= Builders<UnitType>.Filter.ElemMatch(o => o.Units, o => o.Id == arrayItemId);
    var update = Builders<UnitType>.Update.Set(o => o.Units[-1], unit);
    
    collection.UpdateOne(filter, update);
    


    1. マングース、検索で特定のフィールドを選択

    2. MongoDBのオブジェクトの配列にインデックスを付ける

    3. MongoDB C#ドライバー:挿入時にプロパティを無視する

    4. 配列内の複数のObjectIDについてMongoDBをクエリします