Tài liệu tiết lộ một chữ ký phương pháp khác:
ReplaceOneResult ReplaceOne(
FilterDefinition<TDocument> filter,
TDocument replacement,
ReplaceOptions options = null,
CancellationToken cancellationToken = null
)
TProjection FindOneAndReplace<TProjection>(
FilterDefinition<TDocument> filter,
TDocument replacement,
FindOneAndReplaceOptions<TDocument, TProjection> options = null,
CancellationToken cancellationToken = null
)
Đáng chú ý nhất là kiểu trả về và tham số tùy chọn khác nhau.
Trong khi ReplaceOne
trả về một ReplaceOneResult
, FindOneAndReplace
trả về một tài liệu (lưu ý thuộc tính ReturnDocument trong các tùy chọn).
ReplaceOptions
khá hạn chế so với FindOneAndReplaceOptions
, ví dụ. cái trước không cung cấp mã>
sắp xếp
để cung cấp cho bạn quyền kiểm soát tài liệu nào sẽ là tài liệu đầu tiên trong số các tài liệu phù hợp trong bộ sưu tập. Điều này không quan trọng nếu bạn lọc dựa trên ID, nhưng nếu bạn muốn thay thế tài liệu mới nhất, tùy chọn sắp xếp rất hữu ích.
(Lưu ý:Cá nhân tôi tìm thấy tài liệu ở đây https:// docs.mongodb.com/manual/reference/method/db.collection.replaceOne/ và đây https://docs.mongodb.com/manual/ tham chiếu / method / db.collection.findOneAndReplace / hữu ích hơn nhiều, vì họ giải thích cách sử dụng chi tiết hơn và cũng cung cấp một số ví dụ. Nhưng tôi không biết nó khớp với trình điều khiển MongoDB C # chặt chẽ như thế nào.)