MongoDB запрос на обновление с использованием объекта класса в C #? - PullRequest
0 голосов
/ 22 декабря 2011

Я храню объект класса в 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); Как я могу это сделать.

1 Ответ

0 голосов
/ 22 декабря 2011

Существует два подхода к обновлению документа:

1.Via Save метод и обновление etire документ

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

2.Via атомное обновление : обновлениечасть документа.Например, если вам нужно обновить Enable поле документа с помощью Name "ABC":

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

Некоторые примечания:

  1. С помощью атомарных обновлений вы можете избежать параллелизмапроблемы.Атомное обновление - это как транзакция внутри одного документа.
...