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

mongodb c# API V2:Różnica między ReplaceOne a FindOneAndReplace

Dokumentacja ujawnia inną sygnaturę metody:

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
)

Przede wszystkim typ zwracany i parametr options różnią się.

Podczas gdy ReplaceOne zwraca ReplaceOneResult , FindOneAndReplace zwraca dokument (pamiętaj o właściwości ReturnDocument w opcjach).

ReplaceOptions są raczej ograniczone w porównaniu z FindOneAndReplaceOptions , np. pierwszy nie zapewnia sortowania Właściwość umożliwiająca kontrolę nad tym, który dokument będzie pierwszym z pasujących dokumentów w kolekcji. Nie ma to znaczenia, jeśli filtrujesz na podstawie identyfikatora, ale jeśli chcesz zastąpić najnowszy dokument, opcja sortowania jest bardzo przydatna.

(Uwaga:osobiście znajduję dokumentację tutaj https:// docs.mongodb.com/manual/reference/method/db.collection.replaceOne/ i tutaj https://docs.mongodb.com/manual/ reference/method/db.collection.findOneAndReplace/ o wiele bardziej pomocne, ponieważ bardziej szczegółowo wyjaśniają użycie, a także podają kilka przykładów. Ale nie wiem, jak bardzo pasuje do sterownika MongoDB C#.)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Eksportuj kolekcję MongoDB do pliku CSV

  2. wywołaj kolekcję mongo za pomocą zmiennej

  3. Nie znaleziono katalogu danych MongoDB /data/db

  4. Jak grupować według wielu kolumn i wielu wartości w mongodb

  5. Przechowywanie małych (poniżej 1 MB) plików za pomocą MongoDB w NodeJS BEZ GridFS