$isolated
có một khóa ghi cho đến khi quá trình ghi hoàn tất hoặc gặp lỗi và nó không mang lại khóa trong khi xử lý. Điều này ngăn cản việc đọc và ghi khác. Nó không không cung cấp tính nguyên tử tất cả hoặc không có gì bởi vì, nếu lỗi xảy ra trên tài liệu thứ 32756, các bản cập nhật 32755 trước đó sẽ vẫn còn. Không có khôi phục; bản cập nhật không phải là nguyên tử. Bản cập nhật được tách biệt.
Tuy nhiên, điều này sẽ không giúp được gì cho OP, vì đó là bản cập nhật của chính anh ấy đang di chuyển tài liệu (thông qua $push
) và khiến chúng bị đánh hai lần. Sử dụng một sắp xếp trên một trường được lập chỉ mục; bạn luôn có _id
.