Làm cách nào để sử dụng đổi tên trong MongoDB?
MongoDB cung cấp nhiều toán tử cập nhật trường để cập nhật giá trị của các trường. Toán tử $rename là một trong những toán tử đó. Toán tử $rename được sử dụng để thay đổi tên của một trường. Tên mới của trường phải khác với tên cũ của trường Show
Điểm quan trọng
Cú pháp của toán tử $renameví dụTrong các ví dụ sau, chúng tôi đang làm việc với >db.employees.find().pretty() { "_id" : 1, "employee_name" : "Tin", "father_name" : "Thor", "department" : "Tester", "address" : "London", "joinning" : 2020, "phone_no" : 9856321478, "gender" : "Male", "age" : 20, "salary" : 10000 } { "_id" : 2, "employee_name" : "John", "father_name" : "Mick", "department" : "Tester", "address" : "NewYork", "joining" : 2015, "phone_no" : 7896541478, "gender" : "Male", "age" : 23, "salary" : 20000, "report_lastDate" : ISODate("2021-08-05T00:00:00Z") } { "_id" : 3, "employee_name" : "Ammy john", "father_name" : "John", "department" : "Software developer", "address" : "London", "joining" : 2019, "phone_no" : 7985631478, "gender" : "Female", "age" : 26, "salary" : 15000 } { "_id" : 4, "employee_name" : "Reeza", "father_name" : "Reeza Hendricks", "department" : "Tester", "address" : "USA", "joining" : 2020, "phone_no" : 7412563278, "gender" : "Male", "age" : 22, "salary" : 20000 } { "_id" : 5, "employee_name" : "John Lewis", "father_name" : "Lewis", "department" : "Software developer", "address" : "London", "joining" : 2015, "phone_no" : 9632587418, "gender" : "Male", "age" : 25, "salary" : 25000, } { "_id" : 6, "employee_name" : "Temba", "father_name" : "George", "department" : "Tester", "address" : "NewYork", "joining" : 2018, "phone_no" : 8965247418, "gender" : "Male", "age" : 24, "salary" : { "first_month" : 15000, "second_month" : 18000, "bonus" : 2000 } } ví dụ 1. Đổi tên một trường duy nhất Trong ví dụ này, chúng tôi đang đổi tên của "tiền lương. trường_tháng_đầu tiên" thành "lương. tháng" trong tài liệu nhân viên có employee_name là Temba Toán tử $rename được sử dụng để cập nhật tên của một trường. Cần phải đề cập đến tên trường mới khác với tên trường hiện có cú pháp {$rename: { Thông số TênMô tảold_name1,old_name2tên cũ của cột hoặc trườngnew_name1,new_name2tên mới của cột hoặc trường Tên cơ sở dữ liệu của chúng tôi là 'myinfo' và tên bộ sưu tập của chúng tôi là "nhân viên". Đây, là bộ sưu tập dưới đây Bộ sưu tập mẫu "nhân viên"
Ví dụ về toán tử cập nhật trường - $renameNếu chúng ta muốn thay đổi tên trường offinfo thành service_details và emale thành email, có thể sử dụng câu lệnh mongodb sau
Để xem đầu ra được cập nhật - > db.employee.find().pretty(); N. B. Phương thức find() hiển thị các tài liệu ở định dạng không có cấu trúc nhưng để hiển thị kết quả theo cách được định dạng, có thể sử dụng phương thức pretty() Đầu ra của lệnh { "_id" : 2, "email" : "[email protected]", "emp_id" : 1232, "phno" : "123-123-1235", "pinfo" : { "empfname" : "Robart", "emplname" : "Bolt" }, "service_details" : [ "administration", "MD" ] } Ví dụ về $rename để đổi tên tài liệu phụNếu chúng tôi muốn đổi tên pinfo tài liệu phụ, có thể sử dụng các truy vấn mongodb sau -
Để xem đầu ra được cập nhật - > db.employee.find().pretty(); N. B. Phương thức find() hiển thị các tài liệu ở định dạng không có cấu trúc nhưng để hiển thị kết quả theo cách được định dạng, có thể sử dụng phương thức pretty() Đầu ra của lệnh ________số 8_______Ví dụ về toán tử $rename để đổi tên trường trong tài liệu conNếu chúng ta muốn đổi tên trường empfname bằng fname trong tài liệu con cá nhân, có thể sử dụng lệnh mongodb sau -
Ở đây trong ví dụ trên, để đổi tên trường empfname trong tài liệu phụ personal, toán tử $rename đã được sử dụng với ký hiệu dấu chấm để đảm bảo trường vẫn còn trong tài liệu phụ Để xem đầu ra được cập nhật - > db.employee.find().pretty(); N. B. Phương thức find() hiển thị các tài liệu ở định dạng không có cấu trúc nhưng để hiển thị kết quả theo cách được định dạng, có thể sử dụng phương thức pretty() Đầu ra của lệnh 0Ví dụ về toán tử $rename để đổi tên trường và di chuyển nó sang tài liệu con khácNếu chúng tôi muốn đổi tên trường emplname thành last_name của tài liệu phụ cá nhân và di chuyển nó từ tài liệu phụ cá nhân, có thể sử dụng lệnh mongodb sau đây - 1Ở đây trong ví dụ trên, để đổi tên trường emplname trong tài liệu con cá nhân, toán tử $rename đã được sử dụng với ký hiệu dấu chấm để đảm bảo trường vẫn còn trong tài liệu con và thao tác này đổi tên trường tài liệu con emplname thành Nếu không có tên tài liệu phụ nào được bao gồm trong tên trường mới, thì trường đó sẽ trở thành trường tài liệu thông thường Để xem đầu ra được cập nhật - > db.employee.find().pretty(); N. B. Phương thức find() hiển thị các tài liệu ở định dạng không có cấu trúc nhưng để hiển thị kết quả theo cách được định dạng, có thể sử dụng phương thức pretty() Đầu ra của lệnh 3Thí dụTại thời điểm đổi tên trường, Nếu trường không tồn tại trong tài liệu, thao tác đổi tên sẽ không thực hiện được Đây là ví dụ - 4Ở đây trong ví dụ trên, chúng tôi muốn đổi tên trường thành phố thành thị trấn, nhưng trường thành phố không tồn tại trong tài liệu, vì vậy thao tác này sẽ không thực hiện được. Như vậy, nếu chúng ta muốn đổi tên nhiều trường và nếu tất cả các trường đó không tồn tại trong tài liệu thì thao tác sẽ không thực hiện được Làm cách nào để đổi tên MongoDB?MongoDB – Đổi tên toán tử ($rename)
. Toán tử $rename trước tiên thực hiện thao tác $unset trên cả tên cũ và tên mới một cách hợp lý, sau đó thực hiện thao tác $set với tên mới .
Chúng tôi có thể đổi tên bộ sưu tập trong MongoDB không?Trong MongoDB, bạn có thể sử dụng phương thức renameCollection() để đổi tên hoặc thay đổi tên của bộ sưu tập hiện có . Tên mới của bộ sưu tập. Tùy chọn, nếu đúng thì mongod bỏ mục tiêu đổi tênCollection cũ để đổi tên bộ sưu tập. Giá trị mặc định là sai.
Làm cách nào để xác định tên trường trong MongoDB?Tài liệu nhúng. Để chỉ định trường có tên cuối cùng trong trường tên, hãy sử dụng ký hiệu dấu chấm "tên. cuối cùng" . Để chỉ định số trong tài liệu điện thoại trong trường liên hệ, hãy sử dụng ký hiệu dấu chấm "liên hệ.
Làm cách nào để thay đổi giá trị khóa trong MongoDB?Bạn phải bao gồm một điều kiện bình đẳng trên khóa phân đoạn đầy đủ trong bộ lọc truy vấn. Ví dụ: xem xét bộ sưu tập thư sử dụng { activityid. 1, người dùng. 1 } làm khóa phân đoạn. Để cập nhật giá trị khóa phân đoạn cho tài liệu, bạn phải bao gồm Activityid. . |