sql >> Databáze >  >> NoSQL >> MongoDB

mongodb c# API V2:Rozdíl mezi ReplaceOne a FindOneAndReplace

Dokumentace odhaluje podpis odlišné 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
)

Především se liší návratový typ a parametr options.

Zatímco ReplaceOne vrátí ReplaceOneResult , FindOneAndReplace vrátí dokument (pozor na vlastnost ReturnDocument v možnostech).

ReplaceOptions jsou dosti omezené ve srovnání s FindOneAndReplaceOptions kód> , např. první neposkytuje třídění vlastnost, která vám poskytne kontrolu nad tím, který dokument bude prvním z odpovídajících dokumentů v kolekci. Nezáleží na tom, zda filtrujete na základě ID, ale pokud chcete nahradit nejnovější dokument, je velmi užitečná možnost řazení.

(Poznámka na okraj:Já osobně najdu dokumentaci zde https:// docs.mongodb.com/manual/reference/method/db.collection.replaceOne/ a zde https://docs.mongodb.com/manual/ reference/method/db.collection.findOneAndReplace/ mnohem užitečnější, protože podrobněji vysvětlují použití a poskytují také některé příklady. Ale nevím, jak blízko to odpovídá ovladači MongoDB C#.)




  1. Aktualizace pole objektů v mongodb

  2. extrahujte hodnotu subarray v mongodb

  3. Získání rozdílu v sekundách od dvou dat v JavaScriptu

  4. MongoDB + JS Datum posunuto -1 den