如何保存一部分大文档mongoDB c#驱动程序

本文关键字:文档 mongoDB 驱动程序 一部分 何保存 保存 | 更新日期: 2023-09-27 18:18:30

你好,我有一个文档如下

{
   "_id" : ObjectId("54c955492b7c8eb21818bd09"),
   "address" : {
      "street" : "2 Avenue",
      "zipcode" : "10075",
      "building" : "1480",
      "coord" : [ -73.9557413, 40.7720266 ],
   },
   "borough" : "Manhattan",
   "cuisine" : "Italian",
   "grades" : [
      {
         "date" : ISODate("2014-10-01T00:00:00Z"),
         "grade" : "A",
         "score" : 11
      },
      {
         "date" : ISODate("2014-01-16T00:00:00Z"),
         "grade" : "B",
         "score" : 17
      }
   ],
   "name" : "Vella",
   "restaurant_id" : "41704620"
}

让我们假设这个文档是如此之大,我想保存或更新烹饪值而不保存整个文档,这可能从。net ORM包装器吗?

示例:-我只想改变"cuisine"的值,而不保存整个文档,请注意,真正的文档是如此之大,会有性能问题吗?

如何保存一部分大文档mongoDB c#驱动程序

使用update$set来修改现有文档的特定字段。

在shell中:

db.mycoll.update({"_id": ObjectId("54c955492b7c8eb21818bd09")}, {$set: {cuisine: "Fast"}})

c#中的无类型集合:

var filter = Builders<BsonDocument>.Filter.Eq("_id", new ObjectId("54c955492b7c8eb21818bd09"));
var update = Builders<BsonDocument>.Update.Set("cuisine", "Fast");
var result = await collection.UpdateOneAsync(filter, update);