tôi cố gắng đổi tên trường trong tất cả các văn bản của một bộ sưu tập, vớidb.collection.update() tất cả các tài liệu
db.coll.update({},{ $rename: {'originField':'newField'} });
nhưng chỉ có một tài liệu được thay đổi, tại sao?
tôi cố gắng đổi tên trường trong tất cả các văn bản của một bộ sưu tập, vớidb.collection.update() tất cả các tài liệu
db.coll.update({},{ $rename: {'originField':'newField'} });
nhưng chỉ có một tài liệu được thay đổi, tại sao?
Tất cả các cập nhật trong MongoDB, theo mặc định, số ít. Bạn phải thêm một lựa chọn thứ ba để lệnh của bạn để thực hiện:
db.coll.update({},{ $rename: {'originField':'newField'} }, {multi:true});
Hoặc, như @totymedli chỉ ra, nếu bạn đang sử dụng 3.2 trở lên, bạn có thể sử dụng updateMany()
: MongoDB: update every document on one field
db.collectionname.update({ "field" : "oldvalue" }, { $set:{ "field" : "newvalue" } }, { multi : true });
Làm thế nào để làm điều đó cho oldvalue + "một số chuỗi" –
bởi bản cập nhật mặc định là số ít, bạn cần phải thêm ', {multi: true}' làm thông số thứ ba – Sammaye
@Sammaye cảm ơn đây là câu trả lời – JuanPablo
@Sammaye bạn có thể thêm nhận xét như câu trả lời để đóng? – JuanPablo