MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Добавяне в Mongo DB с помощта на официален C# драйвер

Версия 2 на драйвера MongoDB C# изисква настройка на IsUpsert флаг в командите за запис. Този пример ще премести цял документ.

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);

Версия 1 на драйвера MongoDB C# реализира тази логика в Save команда.

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

Методът за запазване е комбинация от вмъкване и актуализиране. Ако членът Id на документа има стойност, тогава се приема, че това е съществуващ документ и Save calls Update на документа (задаване на флаг Upsert, само в случай, че всъщност е нов документ все пак). В противен случай се приема, че е нов документ и Save calls Insert след първо присвояване на новогенерирана уникална стойност на члена Id.

Справка:http://mongodb.github.io/mongo-csharp-driver/1.11/driver/#save-tdocument-method

Забележка:Това обаче изисква правилното съпоставяне на полето Id. Повече информация за това тук: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. Изтриване на каскаден стил в Mongoose

  2. Hadoop Map/Reduce срещу вградена Map/Reduce

  3. Как най-добре да създадете RESTful API в Node.js

  4. Как да конвертирам pymongo.cursor.Cursor в dict?

  5. Намерете документ с масив, който съдържа конкретна стойност