Các công cụ sửa đổi sau đây có sẵn để cập nhật các hoạt động. Ví dụ - trong db. thu thập. cập nhật[] và db. thu thập. findAndModify[]
Định nghĩa biểu thức toán tử trong tài liệu của biểu mẫu
Người điều hành hiện trường
$currentDate
Nó cập nhật các phần tử của một trường thành ngày hiện tại, dưới dạng Ngày hoặc dấu thời gian. Kiểu dữ liệu mặc định của toán tử này là ngày tháng
cú pháp
Ví dụ
$inc
Nó tăng một tệp theo giá trị đã chỉ định
cú pháp
Ví dụ
$min
Nó thay đổi giá trị của trường thành một giá trị được chỉ định nếu giá trị được chỉ định nhỏ hơn giá trị hiện tại của tệp đã nộp
cú pháp
Ví dụ
tối đa $
Nó thay đổi giá trị của trường thành một giá trị được chỉ định nếu giá trị được chỉ định lớn hơn giá trị hiện tại của tệp đã nộp
cú pháp
Ví dụ
$ nhiều
Nó nhân giá trị của một trường với một số
cú pháp
Ví dụ
đổi tên $
Toán tử đổi tên thay đổi tên của một trường
cú pháp
Ví dụ
bộ $
Toán tử set thay đổi giá trị của một trường với giá trị được chỉ định
cú pháp
Ví dụ
$setOnInsert
Nếu upsert được đặt thành true, thì nó dẫn đến việc chèn tài liệu, khi đó toán tử setOnInsert sẽ gán các giá trị đã chỉ định cho trường trong tài liệu
cú pháp
$unset
Nó xóa một trường được chỉ định
cú pháp
Ví dụ
Toán tử mảng
$
Chúng ta có thể cập nhật một phần tử trong một mảng mà không cần chỉ định rõ ràng vị trí của phần tử đó
cú pháp
Ví dụ
$[ ]
Toán tử vị trí chỉ ra rằng toán tử cập nhật sẽ thay đổi tất cả các phần tử trong trường mảng đã cho
cú pháp
Ví dụ
$[]
Nó được gọi là toán tử vị trí được lọc để xác định các phần tử mảng
cú pháp
Ví dụ
$addToSet
Nó thêm một phần tử vào một mảng trừ khi phần tử đó đã có sẵn, trong trường hợp đó toán tử này không làm gì với mảng đó
cú pháp
Ví dụ
$pop
Chúng ta có thể loại bỏ phần tử đầu tiên hoặc phần tử cuối cùng của một mảng bằng cách sử dụng toán tử pop. Chúng ta cần truyền giá trị của pop là -1 để xóa phần tử đầu tiên của mảng và 1 để xóa phần tử cuối cùng trong mảng
cú pháp
Ví dụ
kéo $
Sử dụng toán tử kéo, chúng ta có thể loại bỏ tất cả các trường hợp của một giá trị trong một mảng phù hợp với điều kiện đã chỉ định
cú pháp
Ví dụ
đẩy $
Nó nối thêm một giá trị được chỉ định vào một mảng
cú pháp
Ví dụ
$pullAll
Chúng ta có thể xóa tất cả các phiên bản của giá trị đã chỉ định khỏi một mảng hiện có bằng cách sử dụng toán tử pullAll. Nó loại bỏ các yếu tố phù hợp với giá trị được liệt kê
cú pháp
Ví dụ
sửa đổi
mỗi $
Nó được sử dụng với toán tử $addToSet và toán tử $push. Nó được sử dụng với toán tử addToSet để thêm nhiều giá trị vào một mảng nếu giá trị không tồn tại trong trường
cú pháp
Nó được sử dụng với toán tử đẩy để nối nhiều giá trị vào một mảng
cú pháp
Ví dụ
vị trí $
Nó chỉ định vị trí nơi toán tử đẩy chèn các phần tử bên trong một mảng
cú pháp
Ví dụ
$lát
Công cụ sửa đổi này được sử dụng để giới hạn số lượng phần tử mảng trong thao tác đẩy
cú pháp
Ví dụ
$sắp xếp
Công cụ sửa đổi sắp xếp sắp xếp các giá trị của một mảng trong thao tác đẩy
cú pháp
Ví dụ
Toán tử Bitwise
$bit
Toán tử bit cập nhật một trường bằng thao tác bitwise. Nó hỗ trợ các hoạt động bitwise AND, bitwise OR và bitwise XOR
MongoDB cung cấp các loại toán tử cập nhật trường khác nhau để cập nhật giá trị của các trường của tài liệu phù hợp với điều kiện đã chỉ định. Bảng sau chứa các toán tử cập nhật trường
OperatorDescription$currentDateToán tử này được sử dụng để đặt giá trị của một trường thành ngày hiện tại, dưới dạng Ngày hoặc Dấu thời gian. $inc Toán tử này được sử dụng để tăng giá trị của trường theo số lượng đã chỉ định. $min Toán tử này chỉ được sử dụng để cập nhật trường nếu giá trị đã chỉ định nhỏ hơn giá trị trường hiện có $max Toán tử này chỉ được sử dụng để cập nhật trường nếu giá trị đã chỉ định lớn hơn giá trị trường hiện có. $mul Toán tử này được sử dụng để nhân giá trị của trường với số lượng đã chỉ định. $rename Toán tử này được sử dụng để đổi tên một trường. $setOnInsert Toán tử này được sử dụng để đặt giá trị của một trường nếu một bản cập nhật dẫn đến việc chèn tài liệu. Nó không ảnh hưởng đến các hoạt động cập nhật sửa đổi các tài liệu hiện cóTrong các ví dụ sau, chúng tôi đang làm việc với
Cơ sở dữ liệu. GeeksforGeeks
Bộ sưu tập. Nhân viên
Tài liệu. hai tài liệu chứa thông tin chi tiết về nhân viên ở dạng cặp trường-giá trị.
Cập nhật giá trị của trường ngày bằng toán tử $currentDate
Trong ví dụ này, chúng tôi đang cập nhật giá trị của trường ngày tham gia của tài liệu của nhân viên có tên là Om
db.Employee.updateOne[{
____2:
"Om"
},
{$currentDate: {joiningDate: true}}]
Tăng giá trị của trường bằng cách sử dụng toán tử $inc
Trong ví dụ này, chúng tôi đang cập nhật trường lương của tài liệu của nhân viên có tên là Sumit
db.Employee.update[{
"name.first"
:
db.Employee.updateOne[{
2},
db.Employee.updateOne[{
4db.Employee.updateOne[{
5____16:
db.Employee.updateOne[{
8db.Employee.updateOne[{
9
So sánh các giá trị [hoặc số] bằng toán tử "name.first"
0
Trong ví dụ này, chúng tôi đang so sánh các giá trị [hoặc số] của các trường lương với giá trị được chỉ định, i. e. , 40000. Ở đây, giá trị được chỉ định lớn hơn giá trị hiện tại. Vì vậy, toán tử "name.first"
0 cập nhật giá trị của trường lương với sự trợ giúp của phương thức update[] thành 40000
db.Employee.update[{
"name.first"
:
db.Employee.updateOne[{
2},
db.Employee.updateOne[{
4"name.first"
8"name.first"
9:
0db.Employee.updateOne[{
6:
:
3db.Employee.updateOne[{
9
So sánh các giá trị [hoặc số] bằng toán tử ______35
Trong ví dụ này, chúng ta đang so sánh các giá trị [hoặc số] của các trường lương với giá trị được chỉ định, i. đ, 5000. Ở đây, giá trị được chỉ định nhỏ hơn giá trị hiện tại. Cho nên. Toán tử :
5 cập nhật giá trị của trường lương với sự trợ giúp của phương thức update[] thành 5000
db.Employee.update[{
"name.first"
:
db.Employee.updateOne[{
2},
db.Employee.updateOne[{
4"name.first"
8"Om"
4:
0db.Employee.updateOne[{
6:
"Om"
8db.Employee.updateOne[{
9
Nhân giá trị của một trường bằng toán tử ____50
Trong ví dụ này, chúng tôi đang nhân giá trị của trường lương với 2 trong tài liệu phù hợp với điều kiện đã chỉ định, tôi. e. , tên = Sumit
db.Employee.update[{
"name.first"
:
db.Employee.updateOne[{
2},
db.Employee.updateOne[{
4},
7db.Employee.updateOne[{
6:
0db.Employee.updateOne[{
9
Đổi tên trường bằng toán tử
2
Trong ví dụ này, chúng tôi đang đổi tên trường experienceYear thành kinh nghiệm trong tài liệu của nhân viên có tên là Om
db.Employee.update[{
"name.first"
:
"Om"
},
db.Employee.updateOne[{
4
9{$currentDate: {joiningDate: true}}]
0:
{$currentDate: {joiningDate: true}}]
2db.Employee.updateOne[{
9
Chèn các trường mới vào tài liệu mới bằng cách sử dụng {$currentDate: {joiningDate: true}}]
4
Trong ví dụ này, chúng tôi đang tạo tài liệu mới trong bộ sưu tập Nhân viên với sự trợ giúp của phương thức update[] bằng cách đặt giá trị của trường upsert thành true và sử dụng toán tử $setOneInsert gán giá trị cho trường bộ phận và lương trong tài liệu