sql >> Database >  >> NoSQL >> MongoDB

mongodb c# API V2:verschil tussen ReplaceOne en FindOneAndReplace

De documentatie onthult een andere handtekening van de methode:

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
)

Het meest opvallende is dat het retourtype en de parameter options verschillen.

Terwijl ReplaceOne retourneert een ReplaceOneResult , FindOneAndReplace retourneert een document (let op de eigenschap ReturnDocument in de opties).

De ReplaceOptions zijn eerder beperkt in vergelijking met FindOneAndReplaceOptions , bijv. de eerste geeft geen sort eigenschap om u controle te geven over welk document het eerste van de overeenkomende documenten in de collectie zal zijn. Dit maakt niet uit of je filtert op basis van een ID, maar als je het laatste document wilt vervangen is de sorteeroptie erg handig.

(Kanttekening:ik vind de documentatie hier persoonlijk https:// docs.mongodb.com/manual/reference/method/db.collection.replaceOne/ en hier https://docs.mongodb.com/manual/ reference/method/db.collection.findOneAndReplace/ veel nuttiger, omdat ze het gebruik in meer detail uitleggen en ook enkele voorbeelden geven. Maar ik weet niet in hoeverre het overeenkomt met het MongoDB C#-stuurprogramma.)




  1. Apache Spark komt naar Apache HBase met HBase-Spark-module

  2. E-Commerce API gemaakt met Node-Js,Typescript,PostgreSQL,Redis en Kafka

  3. mongodb-updates worden niet weergegeven tenzij ik de node-server opnieuw start

  4. Mangoest bevolken versus aggregaat