MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Umieszczanie w Mongo DB przy użyciu oficjalnego sterownika C#

Wersja 2 sterownika MongoDB C# wymaga ustawienia IsUpsert flaga w poleceniach zapisu. Ten przykład podważy cały dokument.

var newDoc = new BsonDocument { { "_id", 123 }, { "someKey", "someValue" } };
var result = await collection.ReplaceOneAsync(
                filter: new BsonDocument("_id", 123),
                options: new ReplaceOptions { IsUpsert = true },
                replacement: newDoc);

Wersja 1 sterownika MongoDB C# implementuje tę logikę w Save Komenda.

var newDoc = new BsonDocument { { "_id", 123 }, { "someKey", "someValue" } };
collection.Save(newDoc);

Metoda Zapisz to połączenie Wstaw i Aktualizuj. Jeśli element ID dokumentu ma wartość, zakłada się, że jest to istniejący dokument, a funkcja Save wywołuje aktualizację dokumentu (ustawienie flagi Upsert na wypadek, gdyby w rzeczywistości był to nowy dokument). W przeciwnym razie zakłada się, że jest to nowy dokument, a funkcja Save wywołuje Insert po pierwszym przypisaniu nowo wygenerowanej unikalnej wartości do elementu identyfikatora.

Odniesienie:http://mongodb.github.io/mongo-csharp-driver/1.11/driver/#save-tdocument-method

Uwaga:wymaga to jednak prawidłowego mapowania pola identyfikatora. Więcej informacji na ten temat tutaj:http://mongodb.github.io/mongo-csharp-driver/1.11/serialization/#identifying-the-id-field-or-property



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd ECONNREFUSED podczas łączenia się z mongodb z node.js

  2. Jak wysłać zapytanie do mongodb za pomocą DBRef

  3. Jak pisać zapytania składające w mongoDB

  4. Jak znaleźć zapytania nie używające indeksów lub powolne w mongodb

  5. Jak przełączyć pole logiczne w jednym dokumencie za pomocą operacji atomowej?