2011-12-22 24 views
0

我在MongoDB中存儲類對象像下面,在C#中使用類對象的MongoDB超時查詢?

try 
{ 
    Sample risk = new Sample(); 
    risk.Name = "ABC"; 
    risk.Enable = true; 
    risk.Sender = "IBM"; 
    risk.Target = "CITI"; 
    MongoServer server = MongoServer.Create("mongodb://localhost"); 
    MongoDatabase db = server.GetDatabase("DATABASE"); 
    db.GetCollection<StockQuote>("SMAPLETABLE").Insert(risk); 
} 
catch (Exception e) 
{ 
    MessageBox.Show("Error"); 
} 

現在我想更新同一類實例像db.GetCollection<StockQuote>("SMAPLETABLE").Insert(risk);我如何能做到這一點。

回答

0

有兩種方法兩個更新文件:

1.Via Save方法和更新etire文件

db.GetCollection<StockQuote>("SMAPLETABLE").Save(risk); 

atomic update 2.Via:文件更新部。例如,如果你需要更新的文件EnableNameABC」:

db.GetCollection<StockQuote>("SMAPLETABLE").Update(
             Query.EQ("Name", "ABC"), 
             Update.Set("Enable", false)); 

一些注意事項:

  1. 隨着原子更新就可以避免併發問題。原子更新就像在一個文件中進行交易。
+0

如果我使用SAVE方法,id mongo表有4條記錄,我怎樣才能更新特定記錄呢@ Andrew Orsich – user483886 2011-12-22 11:18:29

+0

@ user483886:當你使用'Save'時你實際上更新單個文檔。 _id字段在整個集合中是唯一的。 – 2011-12-22 11:21:25

+0

但我怎麼知道特定文件進行更新時,如果有提到ID ....?@安德魯Orsich – user483886 2011-12-22 11:23:36