Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Thay đổi tên trường trong MongoDB

Để thay đổi tên trường (đổi tên field) trong kết quả truy vấn, sử dụng $project trong aggregation pipeline. Tạo collection:

> db.demo517.insertOne({"Name":"Chris Brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88a2a2987b6e0e9d18f595") }
> db.demo517.insertOne({"Name":"David Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88a2ab987b6e0e9d18f596") }
> db.demo517.insertOne({"Name":"John Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88a2b1987b6e0e9d18f597") }

Hiển thị dữ liệu gốc:

> db.demo517.find();

Kết quả:

Sử dụng $project đổi tên trường Name thành FullName:

> db.demo517.aggregate([{$project:{FullName:"$Name"}}]);

Kết quả - trường Name đã đổi thành FullName:

Lưu ý quan trọng: $project chỉ thay đổi tên trường trong kết quả trả về, không sửa đổi dữ liệu gốc trong database.

Để đổi tên trường vĩnh viễn trong database, dùng $rename với updateMany():

db.demo517.updateMany({}, { $rename: { "Name": "FullName" } })

Lệnh này sẽ đổi tên trường Name thành FullName cho tất cả tài liệu trong collection.