MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

mongodb c# API V2:Perbedaan antara ReplaceOne dan FindOneAndReplace

Dokumentasi mengungkap tanda tangan metode yang berbeda:

ReplaceOne :

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

TemukanSatuDanGanti :

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

Terutama jenis pengembalian dan parameter opsi berbeda.

Sementara ReplaceOne mengembalikan ReplaceOneResult , FindOneAndReplace mengembalikan dokumen (perhatikan properti ReturnDocument di opsi).

ReplaceOptions agak terbatas dibandingkan dengan FindOneAndReplaceOptions , misalnya yang pertama tidak memberikan sort properti untuk memberi Anda kendali atas dokumen mana yang akan menjadi dokumen pertama yang cocok dalam koleksi. Ini tidak masalah jika Anda memfilter berdasarkan ID, tetapi jika Anda ingin mengganti dokumen terbaru, opsi pengurutan sangat berguna.

(Catatan tambahan:Saya pribadi menemukan dokumentasi di sini https:// docs.mongodb.com/manual/reference/method/db.collection.replaceOne/ dan di sini https://docs.mongodb.com/manual/ reference/method/db.collection.findOneAndReplace/ jauh lebih membantu, karena mereka menjelaskan penggunaan secara lebih rinci dan juga memberikan beberapa contoh. Tapi saya tidak tahu seberapa miripnya dengan driver MongoDB C#.)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kendala unik MongoDB/Mongoose pada bidang Tanggal

  2. java mongo db ekspresi reguler karakter non-huruf

  3. Operator Kueri $type MongoDB

  4. Bagaimana cara membaca koleksi dalam potongan dengan 1000?

  5. Apa pilihan database yang baik untuk aplikasi .NET kecil?