次のコードでは、FirstName = "john"とLastName = "Doe"の電子メールを更新できます。 Save()メソッドを使用せずにEmailとPhoneの両方をどのように更新しますか?公式のC#ドライバを使用してMongoDBのUpdate.Setを使用して複数のフィールドを更新するにはどうすればよいですか?
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 = "[email protected]";
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", "[email protected]");
_person.Update(myQuery, update);
うわー、私はそのことについて考えたことはありません、私は1つを除いてちょうど約すべてのものを試してみました!笑。ありがとう! – atbebtg