Computer >> Máy Tính >  >> Lập trình >> MongoDB

Thay đổi khóa chính trên bộ sưu tập MongoDB?

Để thay đổi khóa chính, trước tiên bạn cần xóa khóa đó. Sử dụng forEach () cùng với xóa để xóa và sau đó lấy khóa chính mới. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo41.insertOne({"StudentName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e25ce4acfb11e5c34d898e3")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo41.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e25ce4acfb11e5c34d898e3"), "StudentName" : "Carol" }

Đây là truy vấn để thay đổi khóa chính trên bộ sưu tập MongoDB -

> var next = db.demo41.find()
>
> next.forEach(function(s) {
...    var prevId=s._id;
...    delete s._id;
...    db.demo41.insert(s);
...    db.demo41.remove(prevId);
... });

Hãy để chúng tôi kiểm tra lại khóa chính một lần nữa -

> db.demo41.find();

Thao tác này sẽ tạo ra kết quả sau hiển thị khóa chính mới -

{ "_id" : ObjectId("5e25cee5cfb11e5c34d898e4"), "StudentName" : "Carol" }