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

mongodb c# API V2:Разлика между ReplaceOne и FindOneAndReplace

Документацията разкрива различен подпис на метода:

ReplaceOne :

ReplaceOneResult ReplaceOne(
    FilterDefinition<TDocument> filter,
    TDocument replacement,
    ReplaceOptions options = null,
    CancellationToken cancellationToken = null
)

FindOneAndReplace :

TProjection FindOneAndReplace<TProjection>(
    FilterDefinition<TDocument> filter,
    TDocument replacement,
    FindOneAndReplaceOptions<TDocument, TProjection> options = null,
    CancellationToken cancellationToken = null
)

Най-вече типът на връщане и параметърът за опции се различават.

Докато ReplaceOne връща ReplaceOneResult , FindOneAndReplace връща документ (имайте предвид свойството ReturnDocument в опциите).

ReplaceOptions са доста ограничени в сравнение с FindOneAndReplaceOptions , напр. първото не предоставя сортиране свойство, за да ви даде контрол върху това кой документ ще бъде първият от съответстващите документи в колекцията. Това няма значение, ако филтрирате въз основа на идентификатор, но ако искате да замените най-новия документ, опцията за сортиране е много полезна.

(Странична бележка:аз лично намирам документацията тук https:// docs.mongodb.com/manual/reference/method/db.collection.replaceOne/ и тук https://docs.mongodb.com/manual/ справка/метод/db.collection.findOneAndReplace/ много по-полезни, тъй като те обясняват употребата по-подробно и също така дават някои примери. Но не знам колко точно съвпада с драйвера MongoDB C#.)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Не получавайте req.query.name към collection.find в express и MongoDB

  2. Как да изхвърля цяла база данни MongoDB като текст/json?

  3. MongoDB на AWS:Как да изберем правилния тип EC2 инстанция за вашия MongoDB сървър?

  4. Mongo DB - експорт в JSON разширен режим

  5. Rails mongoid regex върху поле Integer