db.collection.updateOne() trong MongoDB là gì?

Db Collection Updateone Trong Mongodb La Gi



MongoDB là một cơ sở dữ liệu phi quan hệ mạnh mẽ có thể lưu trữ nhiều tài liệu. Đôi khi, người dùng có thể cần cập nhật một tài liệu đáp ứng các tiêu chí nhất định. Trong tình huống này, họ có thể sử dụng “ db.collection.updateOne() ” cập nhật và sửa đổi tài liệu đầu tiên đáp ứng các tiêu chí lựa chọn và sửa đổi nó.

Phương thức “db.collection.updateOne()” trong MongoDB là gì?

Các ' db.collection.updateOne() ” cập nhật một tài liệu duy nhất phù hợp với tiêu chí đã xác định. Nếu có nhiều tài liệu phù hợp với tiêu chí, chỉ tài liệu đầu tiên sẽ được sửa đổi. Nó có thể được sử dụng với Toán tử cập nhật, chẳng hạn như “ bộ $ ”, “ $inc ' Và nhiều hơn nữa .

Làm cách nào để sử dụng Phương thức “db.collection.updateOne()” trong MongoDB?

Các ' db.collection.updateOne() ” có thể được sử dụng để cập nhật một trường đơn lẻ cũng như nhiều trường của một tài liệu phù hợp với tiêu chí lựa chọn. Hơn nữa, phương pháp này cũng có thể thêm một trường vào tài liệu và có thể được sử dụng với các toán tử cập nhật. Cú pháp của “ db.collection.updateOne() ” phương pháp được cung cấp dưới đây:







Cú pháp cơ bản



db.collection.updateOne ( { filter_criteria } , { cập nhật } , { tùy chọn } )

Ở đây trong cú pháp trên:



  • Phương pháp này sẽ cập nhật tài liệu đầu tiên đáp ứng các tiêu chí lựa chọn
  • Các ' filter_criteria ” xác định các tiêu chí cho bản cập nhật
  • Các ' cập nhật ” chứa các trường sẽ được sửa đổi trong tài liệu
  • Các ' tùy chọn ” đối số là một đối số tùy chọn sửa đổi hoạt động của phương thức này, chẳng hạn như “ lộn ngược ' Và ' gợi ý

Đối với bài đăng này, chúng tôi sẽ sử dụng một “ Linuxhint_Col2 ” tài liệu của bộ sưu tập để chứng minh hoạt động của “ db.collection.updateOne() ' phương pháp. Để xem các tài liệu được lưu trữ trong bộ sưu tập này, hãy thực hiện lệnh được cung cấp:





db.Linuxhint_Col2.find ( )

đầu ra

Đầu ra đã truy xuất tất cả các tài liệu được lưu trữ trong “ Linuxhint_Col2 ' bộ sưu tập.



Ví dụ 1: Cập nhật một trường đơn
Để cập nhật một trường trong tài liệu, hãy xác định tiêu chí lựa chọn của nó và cập nhật tiêu chí. Các tiêu chí cập nhật có thể được xác định bằng cách sử dụng các toán tử cập nhật. Hãy để chúng tôi chạy một truy vấn để cập nhật “ Làm mẫu_Phí ” lĩnh vực để “ 18000 ” nơi “ Họ ” đối tượng bằng “ Depp ” trong tài liệu:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.Last_Name' : 'Đẹp' } , { bộ $ : { Phí làm mẫu: 18000 } } )

đầu ra

Đầu ra trả về thông báo thành công.

Để xác minh những thay đổi đã thực hiện, hãy truy xuất tài liệu bị ảnh hưởng bằng cách sử dụng “ tìm thấy() ' yêu cầu:

db.Linuxhint_Col2.find ( { 'Model_Name.Last_Name' : 'Đẹp' } )

đầu ra

Đầu ra đã xác minh rằng tài liệu đã được cập nhật thành công.

Ví dụ 2: Thêm trường mới bằng phương thức “db.collection.updateOne()”
Các ' db.collection.updateOne() ” phương pháp thêm một trường mới bằng cách sử dụng “ bộ $ ” trong tài liệu nếu nó chưa tồn tại. Như “ Kinh nghiệm ” trường không tồn tại cho các tài liệu trong đó “ Làm mẫu_Phí ' ít hơn ' 9000 ”.

Hãy để chúng tôi thêm trường mới “ Kinh nghiệm ” với giá trị“ Người bắt đầu ” trong tài liệu nơi “ Làm mẫu_Phí ' ít hơn ' 9000 ” sử dụng truy vấn này:

db.Linuxhint_Col2.updateOne ( { 'Phí_Làm Người Mẫu' : { $lt : 9000 } } , { bộ $ : { 'Kinh nghiệm' : 'Người bắt đầu' } } )

đầu ra

Đầu ra trả về thông báo cho biết rằng một tài liệu phù hợp với tiêu chí lựa chọn và được sửa đổi thành công.

Hãy để chúng tôi xác minh điều đó bằng cách lấy tất cả các tài liệu có sẵn trong bộ sưu tập “ Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

đầu ra

Đầu ra cho thấy rằng một tài liệu đáp ứng điều kiện đã được sửa đổi và một trường mới được chèn thành công.

Ví dụ 3: Cập nhật nhiều trường của tài liệu bằng phương thức “db.collection.updateOne()”
Người dùng thậm chí có thể sửa đổi nhiều trường trong một tài liệu. Ở đây, truy vấn được đưa ra dưới đây sẽ sửa đổi họ và tuổi cho tài liệu trong đó “ Tên đầu tiên ' bằng ' Nô-ê “:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Noah' } , { bộ $ : { 'Model_Name.Last_Name' : 'Doe' , 'Người mẫu_Tuổi' : 23 } } )

đầu ra

Truy vấn đã được thực hiện mà không có bất kỳ lỗi nào.

Để xác minh các thay đổi, hãy sử dụng phương thức “find()” để truy xuất tài liệu có “ Tên đầu tiên ' bằng ' Nô-ê :

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Noah' } )

đầu ra

Đầu ra trả về tài liệu đã sửa đổi thành công.

Ví dụ 4: Sử dụng Phương thức “db.collection.updateOne()” với Toán tử cập nhật
Như trong ví dụ trước, chúng tôi đã sử dụng “ bộ $ ” cập nhật toán tử để sửa đổi các giá trị trong “ db.collection.updateOne() ' phương pháp. Chúng ta hãy thử sử dụng một toán tử cập nhật khác “ $inc ” làm tăng trường với số lượng đã chỉ định.

Ở đây trong truy vấn được cung cấp bên dưới, phương pháp tìm kiếm tài liệu có “ Tên đầu tiên ' bằng ' kate ” và thêm “ 1000 ' bên trong ' Làm mẫu_Phí ” giá trị của trường:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Kate' } , { $inc : { Phí làm mẫu: 1000 } } )

đầu ra

Đầu ra trả về một thông báo thành công.

Để xem các thay đổi, hãy sử dụng nút “ tìm thấy() ” để truy xuất tài liệu bị ảnh hưởng:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Kate' } )

đầu ra

Đầu ra mô tả giá trị sửa đổi của “ Làm mẫu_Phí ”.

Ví dụ 5: Thêm một tài liệu mới nếu nó chưa tồn tại Sử dụng đối số “upsert”
Đối số tùy chọn có thể được sử dụng để thay đổi hành vi của phương thức này. Một tùy chọn như vậy là “ lộn ngược ” sẽ thêm một tài liệu mới nếu không có tài liệu hiện có nào đáp ứng các tiêu chí lựa chọn được xác định trong truy vấn.

Chúng ta hãy thử thêm một tài liệu mới bằng cách xác định các tiêu chí lựa chọn không đáp ứng bất kỳ tài liệu nào đã tồn tại. Sau đó, đặt một số trường cho nó và thêm tùy chọn “ lộn ngược ” là “true” như được hiển thị trong lệnh được cung cấp bên dưới:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'David' } , { bộ $ : { Phí làm mẫu: 10000 ,  Người mẫu_Tuổi: 23 , 'Model_Name.Last_Name' : 'Thợ rèn' } } , { nâng cao: ĐÚNG VẬY } )

đầu ra

Đầu ra hiển thị thông báo được xác nhận là đúng.

Cuối cùng, xác minh sửa đổi của nó bằng cách chạy lệnh này:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'David' } )

đầu ra

Đầu ra mô tả rằng tài liệu mới đã được thêm thành công.

Phần kết luận

Các ' db.collection.updateOne() ” trong MongoDB được sử dụng để cập nhật tài liệu đầu tiên đáp ứng các tiêu chí lựa chọn. Nó có thể sửa đổi một trường cũng như nhiều trường trong tài liệu bằng cách sử dụng toán tử cập nhật, chẳng hạn như “ bộ $ ' Và ' $inc ”. Hơn nữa, phương thức này cũng chấp nhận các đối số tùy chọn để thay đổi hành vi của phương thức, chẳng hạn như “ lộn ngược ” bổ sung tài liệu mới trong trường hợp tiêu chí lựa chọn không khớp với bất kỳ tài liệu hiện có nào. Bài đăng này đã thảo luận về việc sử dụng “ db.collection.updateOne() ” trong MongoDB.