Không sử dụng chèn.
Sử dụng bản cập nhật với upsert=true
. Cập nhật sẽ tìm kiếm tài liệu phù hợp với truy vấn của bạn, sau đó nó sẽ sửa đổi các trường bạn muốn và sau đó, bạn có thể nói với nó rằng:Đúng nếu bạn muốn chèn nếu không có tài liệu nào phù hợp với truy vấn của bạn.
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
Vì vậy, với ví dụ của bạn, bạn có thể sử dụng một cái gì đó như sau:
db.collection.update(doc, doc, {upsert:true})