Tôi gặp phải lỗi tương tự, nhưng khi cố gắng sao chép một bộ sưu tập:
> db.coll1.copyTo("coll2");
Wed Jul 24 13:32:05 uncaught exception: { "ok" : 0, "errmsg" : "unauthorized" }
Cơ sở dữ liệu của tôi nằm trên một máy chủ được chia sẻ do MongoHQ quản lý, vì vậy chắc chắn có thể có một số vấn đề về quyền ở đó mà dịch vụ không cho phép copyTo
hoặc các lệnh khác để chạy.
Một giải pháp đơn giản là tìm nạp thủ công tất cả các đối tượng trong bộ sưu tập và chèn chúng vào bộ sưu tập thứ hai. Đây là cách mọi thứ được thực hiện trước copyTo
đang được thực hiện:
db.coll1.find().forEach(function(o) { db.coll2.insert(o); });