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

.NETでMongoDBを部分的に更新するためのRESTAPIのパッチ

    使用できます

    IMongoUpdate updateDoc = new UpdateDocument("$set", doc);
    collection.Update(Query.EQ("_id",id), updateDoc);
    

    ただし、注意が必要です。

    最初にドキュメントをSomeObjectに逆シリアル化すると、すべてのフィールドがデフォルト値になります(文字列の場合はnull、intの場合は0など)。また、そのオブジェクトを更新に使用すると、json文字列に存在しなかったフィールドがデフォルト値に更新されます。

    を使用する場合
    var bsonDoc = BsonSerializer.Deserialize<BsonDocument>(jsonString);  
    IMongoUpdate updateDoc = new UpdateDocument("$set", bsonDoc);
    collection.Update(Query.EQ("_id",id), updateDoc);
    

    データベース上のドキュメントは、jsonStringに存在するフィールドに対してのみ更新されます



    1. mongodbとmongomapper

    2. mongo csharpを使用して挿入した後、最近挿入されたドキュメントの_idを取得するにはどうすればよいですか?

    3. BSON ::Timestampをrubytimeに、またはその逆に変換する方法

    4. mongimportを使用してJSONファイルをインポートし、「予期しない識別子」を取得し続けますか?