如何使用c#更新mongodb集合

本文关键字:mongodb 集合 更新 何使用 | 更新日期: 2023-09-27 18:10:33

我有一个具有集合状态的mongo服务器。每当添加新状态时,它都会保存在我的服务器中。但是当我尝试编辑集合在前端它被保存为另一个新的集合在我的服务器与不同的id。如何克服这一点。

     public  static void CreateData(string pass ,string pass1)
      {
          string StateCode = pass;
          string stateName = pass1;
          insertState(StateCode, stateName);
      }

      private static void insertState(string StateCode, string stateName)
      {
        MongoServer server = MongoServer.Create(ConnectionString);
        MongoDatabase myCompany = server.GetDatabase("BackOffice");
        MongoCollection<BsonDocument> tblStates = myCompany.GetCollection<BsonDocument>("tblStates");
        BsonDocument deptartment = new BsonDocument {
                    { "State_strCode", StateCode },
                    { "State_strName", stateName },
                    {"States_strIsActive","Y"},
                    {"State_strFedExStateCode",""},
                    {"State_dtmTimeStamp",DateTime.Now}
                    };
        tblStates.Insert(deptartment);
       }

如何使用c#更新mongodb集合

你最好定义一个结构或设置一个PK:

public class Customer
{
    public string name { get; set; }
    [MongoDB.Bson.Serialization.Attributes.BsonId]
    public string idCol { get; set; }
}

并像这样更新你的对象

 public void Update(Customer cus)
    {
        if (cus != null)
        {
            MongoDB.Driver.MongoClient client = new MongoClient(_connectionString);
            MongoDatabase db = client.GetServer().GetDatabase(_dbName);
            db.GetCollection(_dbName).Save(cus);
        }
    }