2016-01-28 21 views
0

我已經從MongoDB數據庫填充了一個表。我現在想要編輯表格的內容並更新它。我使用的這段代碼可能已經過時了。使用MongoDB MVC編輯表值

的控制器代碼是:

public ActionResult Edit(int id) 
    { 
     MongoServer objServer = MongoServer.Create("Server=localhost:27017"); 
     MongoDatabase objDatabse = objServer.GetDatabase("MVCTestDB"); 
     IMongoQuery query = Query.EQ("ID", id); 
     UserModel user = objDatabse.GetCollection<UserModel>("Users").Find(query).SingleOrDefault(); 
     return View(user); 
    } 

    [HttpPost] 
    public ActionResult Edit(UserModel um) 
    { 
     MongoServer objServer = MongoServer.Create("Server=localhost:27017"); 
     MongoDatabase objDatabse = objServer.GetDatabase("MVCTestDB"); 
     IMongoQuery query = Query.EQ("ID", um.ID); 

     IMongoUpdate updateQuery = Update.Set("UserName", um.UserName).Set("Password", um.Password).Set("Email", um.Email).Set("PhoneNo", um.PhoneNo).Set("Address", um.Address); 
     UserModel user = objDatabse.GetCollection<UserModel>("Users").Find(query).SingleOrDefault(); 
     objDatabse.GetCollection<UserModel>("Users").Update(query, updateQuery); 
     return RedirectToAction("GetUsers"); 
    } 

編譯器無法識別MongoServer.Create

回答

0

我GESS你有錯誤的連接字符串格式和錯誤的方法。它應該是:

MongoClient("mongodb://localhost:27017/MVCTestDB").GetServer(); 
+0

其給予同樣的錯誤「‘MongoDB.Driver.MongoServer’不包含一個定義爲‘創建’」然後 – subhrendu

+0

@subhrendu嘗試'VAR _ SERVER =新MongoClient(「mongodb的:// localhost:27017/MVCTestDB「)。GetServer();' –

+0

嘿,謝謝你:)。有效。雖然它拋出警告說該方法已經過時並且使用新的API代替 – subhrendu