c# - 如何使用官方 c# 驱动程序在 MongoDB 中使用 Update.Set 更新多个字段

以下代码将允许我更新 FirstName = "john"和 LastName = "Doe"的电子邮件。如何在不使用 Save() 方法的情况下同时更新电子邮件和电话?

MongoDB.Driver.MongoServer _server = MongoDB.Driver.MongoServer.Create("mongodb://localhost");
MongoDB.Driver.MongoDatabase _dataBase = _server.GetDatabase("test");
MongoDB.Driver.MongoCollection<Person> _person = _dataBase.GetCollection<Person>("person");

//Creat new person and insert it into collection
ObjectId newId  = ObjectId.GenerateNewId();
Person newPerson = new Person();
newPerson.Id = newId.ToString();
newPerson.FirstName = "John";
newPerson.LastName = "Doe";
newPerson.Email = "john.doe@gmail.com";
newPerson.Phone = "8005551222";
_person.Insert(newPerson);

//Update phone and email for all record with firstname john and lastname doe
MongoDB.Driver.Builders.QueryComplete myQuery = MongoDB.Driver.Builders.Query.And(MongoDB.Driver.Builders.Query.EQ("FirstName", "John"),    MongoDB.Driver.Builders.Query.EQ("LastName", "Doe"));
MongoDB.Driver.Builders.UpdateBuilder update = MongoDB.Driver.Builders.Update.Set("Email", "jdoe@gmail.com");

_person.Update(myQuery, update);

最佳答案

这很简单;),只需在更新中添加另一个集合或其他操作:

 var update = Update.Set("Email", "jdoe@gmail.com")
                    .Set("Phone", "4455512");

关于c# - 如何使用官方 c# 驱动程序在 MongoDB 中使用 Update.Set 更新多个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818964/

相关文章:

javascript - Meteor 文档中的消息计数示例如何工作?

node.js - Redis 缓存和 Mongo 的持久性架构

mongodb - mongorestore 失败 : no reachable servers

mongodb - insert()、insertOne() 和 insertMany() 方法有什

mongodb - EventStore 与 MongoDb

MongoDB - 安装错误 - mongodb 设置向导过早结束

mongodb - 选择 MongoDb/CouchDb/RavenDb - 性能和可扩展性建议

mongodb - 在 MongoDB 中存储 null 与根本不存储 key

mongodb - 如何使用 mongodb 更新包含在父对象数组中的对象的属性?

mongodb - 如何使用多个键有效地执行 "distinct"?