Trình điều khiển MongoDB 2.5 có phương pháp DBCollection.findAndModify()
cho việc này, nhưng MongoCollection
bỏ qua phương pháp này. Sau một số tìm kiếm, tôi thấy rằng findOneAndUpdate()
hiện có cùng vai trò. Nhưng phương pháp này có chữ ký khác nhau, không hiểu cách sử dụng nó. Đây là lệnh tôi muốn thực hiệnLàm thế nào để thực thi MongoDB findAndModify truy vấn trong trình điều khiển Java MongoCollection 3?
db.COL1.findAndModify({
query: { id: 2 },
update: {
$setOnInsert: { date: new Date(), reptype: 'EOD' }
},
new: true, // return new doc if one is upserted
upsert: true // insert the document if it does not exist
})
Tài liệu cho findOneAndUpdate
method khẳng định rằng
Returns: các tài liệu đã được cập nhật. Tùy thuộc vào giá trị của thuộc tính
returnOriginal
, tài liệu này sẽ là tài liệu như trước khi cập nhật hoặc vì nó là sau khi cập nhật.
nhưng không thể tìm thấy bất kỳ nội dung nào về thuộc tính returnOriginal
này. Bất cứ ai cũng biết làm thế nào để thiết lập nó một cách chính xác?
'returnOriginal' cờ phải là' mới FindOneAndUpdateOptions(). ReturnDocument (ReturnDocument.BEFORE)) ' – chridam
@chridam không phải là' ReturnDocument.AFTER' tương đương với 'new: true'? –
Trong khi đó là đúng trong bối cảnh đó, tôi đề cập đến những gì OP hỏi trong câu hỏi của họ _ nhưng không thể tìm thấy bất cứ điều gì về tài sản 'returnOriginal' này. Bất cứ ai cũng biết làm thế nào để thiết lập nó một cách chính xác? _ – chridam