Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
6Quan trọng
Phương pháp Mongosh
Trang này ghi lại một phương thức
// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
7. Đây không phải là tài liệu cho các lệnh cơ sở dữ liệu hoặc trình điều khiển dành riêng cho ngôn ngữ, chẳng hạn như Node.js.// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
7 method. This is not the documentation for database commands or language-specific drivers, such as Node.js.Đối với lệnh cơ sở dữ liệu, xem lệnh
// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
8.Đối với trình điều khiển API MongoDB, hãy tham khảo tài liệu trình điều khiển MongoDB dành riêng cho ngôn ngữ.MongoDB driver documentation.
Đối với tài liệu Shell Legacy
// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
9, hãy tham khảo tài liệu để phát hành máy chủ MongoDB tương ứng:Mongo Shell v4.4
Mongo Shell v4.2
Cập nhật tất cả các tài liệu phù hợp với bộ lọc được chỉ định cho một bộ sưu tập.
Phương thức
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
0 có dạng sau:db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
0 method has the following form:db.collection.updateMany[ , , { upsert: , writeConcern: , collation: , arrayFilters: [ , ... ], hint: // Available starting in MongoDB 4.2.1 } ]
Phương thức
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
0 lấy các tham số sau:db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
0 method takes the following parameters:
lọc | tài liệu | Các tiêu chí lựa chọn cho bản cập nhật. Các bộ chọn truy vấn tương tự như trong phương thức 2 có sẵn.Chỉ định một tài liệu trống 3 để cập nhật tất cả các tài liệu trong bộ sưu tập.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cập nhật | tài liệu hoặc đường ống | Các sửa đổi để áp dụng. Có thể là một trong những điều sau đây:
Để cập nhật với một tài liệu thay thế, xem 0
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean | Không bắt buộc. Khi 2, 0 hoặc: 0 either:
Để tránh nhiều UPSERT, hãy đảm bảo rằng các trường 4 được lập chỉ mục duy nhất.Mặc định là 7.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tài liệu | Các tiêu chí lựa chọn cho bản cập nhật. Các bộ chọn truy vấn tương tự như trong phương thức 2 có sẵn.Chỉ định một tài liệu trống 3 để cập nhật tất cả các tài liệu trong bộ sưu tập.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tài liệu | Optional. Các tiêu chí lựa chọn cho bản cập nhật. Các bộ chọn truy vấn tương tự như trong phương thức 2 có sẵn.Chỉ định một tài liệu trống 3 để cập nhật tất cả các tài liệu trong bộ sưu tập.cập nhật
tài liệu hoặc đường ống Các sửa đổi để áp dụng. Có thể là một trong những điều sau đây: Cập nhật tài liệu Chỉ chứa các biểu thức toán tử cập nhật. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Để biết thêm thông tin, hãy xem Cập nhật với tài liệu biểu thức vận hành cập nhật | Đường ống tổng hợp [bắt đầu từ MongoDB 4.2] Chỉ chứa các giai đoạn tổng hợp sau:
|
db.collection.updateMany[ |
, |
{ $set: { status: "D" }, $inc: { quantity: 2 } }, |
... |
] |
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
7
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
8 và bí danh của nó db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
9exactly one corresponding array filter document. That is, you cannot specify multiple array filter documents for the same identifier. For example, if the update statement includes the identifier { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
6 [possibly multiple times], you cannot specify the following for { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
2 that
includes 2 separate filter documents for { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
6:// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
Để biết thêm thông tin, hãy xem Cập nhật với một đường ống tổng hợp.
// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
Để cập nhật với một tài liệu thay thế, xem
db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
0Specify { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
2 for an Array Update Operations.Không bắt buộc. Khi
2, db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
0 hoặc:db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
Tạo một tài liệu mới nếu không có tài liệu nào khớp với
4. Để biết thêm chi tiết, hãy xem hành vi UPSERT.db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
Cập nhật các tài liệu phù hợp với
db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4.query predicate.Để tránh nhiều UPSERT, hãy đảm bảo rằng các trường
db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4 được lập chỉ mục duy nhất.Mặc định là
db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
7.
Không bắt buộc. Một tài liệu thể hiện mối quan tâm viết. Bỏ qua để sử dụng mối quan tâm ghi mặc định.Specify
0 for Update Operations.try { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
Không đặt rõ ràng mối quan tâm ghi cho hoạt động nếu chạy trong một giao dịch. Để sử dụng viết mối quan tâm với các giao dịch, xem giao dịch và viết mối quan tâm.
Phương thức trả về một tài liệu chứa:
Boolean
1 làtry { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
2db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4 chứa số lượng tài liệu phù hợptry { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
5 chứa số lượng tài liệu đã sửa đổitry { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
6 chứatry { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
7 cho tài liệu Upsertedtry { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
Khi triển khai chạy với
try { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
8, người dùng phải có quyền truy cập bao gồm các đặc quyền sau:
8 Hành động trên [các] bộ sưu tập được chỉ định.// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
0 Hành động trên [các] bộ sưu tập được chỉ định.{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
1 Hành động trên [các] bộ sưu tập được chỉ định nếu hoạt động dẫn đến UPSERT.{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
Vai trò tích hợp
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
2 cung cấp các đặc quyền cần thiết.
0 Cập nhật tất cả các tài liệu phù hợp trong bộ sưu tập phù hợp với db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
4, sử dụng các tiêu chí db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
8 để áp dụng sửa đổi. updates all matching documents in the collection that match the // Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4, using the // Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
8 criteria to apply modifications.Nếu
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
6 và không có tài liệu nào khớp với db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4, { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 sẽ tạo một tài liệu mới dựa trên các tham số db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4 và // Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
8.{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 creates a new document based on the db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4 and // Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
8 parameters.Nếu bạn chỉ định
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
6 trên bộ sưu tập Sharded, bạn phải bao gồm khóa Shard đầy đủ trong db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4. Để biết thêm hành vi { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8, xem các bộ sưu tập Sharded.{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 behavior, see Sharded Collections.Xem Cập nhật nhiều tài liệu với UPSERT.Update Multiple Documents with Upsert.
Đối với thông số kỹ thuật sửa đổi, phương thức
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 có thể chấp nhận một tài liệu chỉ chứa các biểu thức toán tử cập nhật để thực hiện.{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 method can accept a document that
only contains update operator expressions to perform.Ví dụ:
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
Bắt đầu từ MongoDB 4.2, phương pháp
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 có thể chấp nhận đường ống tổng hợp { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5, "Review" : true } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8, "Review" : true }
6 chỉ định các sửa đổi để thực hiện. Đường ống có thể bao gồm các giai đoạn sau:{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 method can accept an
aggregation pipeline { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5, "Review" : true } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8, "Review" : true }
6 that specifies the modifications to perform. The pipeline can consist of the following stages:
4 và bí danh của nódb.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
6 và bí danh của nódb.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
7db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
8 và bí danh của nódb.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
9db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
Sử dụng đường ống tổng hợp cho phép một câu lệnh cập nhật biểu cảm hơn, chẳng hạn như biểu thị các bản cập nhật có điều kiện dựa trên các giá trị trường hiện tại hoặc cập nhật một trường bằng cách sử dụng giá trị của [các] trường khác.
Ví dụ:
db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
Ghi chú
Nếu bạn chỉ định một chỉ mục không tồn tại, các lỗi hoạt động.
Lệnh cập nhật trả về như sau:Update with Aggregation Pipeline.
Để xem các chỉ mục được sử dụng, bạn có thể sử dụng đường ống
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
16:Phương thức cập nhật trong MongoDB là gì?
0 method is available for time series collections
starting in MongoDB 5.1.db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
MongoDB cung cấp các phương thức sau để cập nhật tài liệu trong bộ sưu tập: db.collection.updateone [] Cập nhật tối đa một tài liệu phù hợp với một bộ lọc được chỉ định mặc dù nhiều tài liệu có thể khớp với bộ lọc được chỉ định. db.collection.updatemany [] Cập nhật tất cả các tài liệu phù hợp với một bộ lọc được chỉ định.
UPSERT trong Cập nhật MongoDB là gì?
Trong MongoDB, UPSERT là một tùy chọn được sử dụng cho hoạt động cập nhật, ví dụ: Cập nhật [], FindAndModify [], v.v. hoặc nói cách khác, UPSERT là sự kết hợp của Cập nhật và Chèn [Cập nhật + Chèn = UPSERT].
Lệnh nào được sử dụng để cập nhật MongoDB?
MongoDB cung cấp lệnh cập nhật [] để cập nhật các tài liệu của bộ sưu tập.
0 method.db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
0 Cập nhật tất cả các tài liệu phù hợp trong bộ sưu tập phù hợp vớidb.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
4, sử dụng các tiêu chídb.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
8 để áp dụng sửa đổi.// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
Nếu
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
6 và không có tài liệu nào khớp với db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4, { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 sẽ tạo một tài liệu mới dựa trên các tham số db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4 và // Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
8.{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 operation that includes { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
6 and is on a sharded collection, you must include the full shard key in the db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4.Nếu bạn chỉ định { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 } { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
6 trên bộ sưu tập Sharded, bạn phải bao gồm khóa Shard đầy đủ trong
4. Để biết thêm hành vi db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
8, xem các bộ sưu tập Sharded. is not
compatible with
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
18Xem Cập nhật nhiều tài liệu với UPSERT. can be used inside multi-document transactions.
Đối với thông số kỹ thuật sửa đổi, phương thức { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 có thể chấp nhận một tài liệu chỉ chứa các biểu thức toán tử cập nhật để thực hiện.
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
Ví dụ:
Bắt đầu từ MongoDB 4.2, phương pháp
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 có thể chấp nhận đường ống tổng hợp { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5, "Review" : true } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8, "Review" : true }
6 chỉ định các sửa đổi để thực hiện. Đường ống có thể bao gồm các giai đoạn sau:db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
4 và bí danh của nó db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5not a cross-shard write transaction.db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
6 và bí danh của nó db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
7{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 with { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
6 can be run on an existing
collection or a non-existing collection. If run on a non-existing collection, the operation creates the collection.db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
8 và bí danh của nó db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
9Sử dụng đường ống tổng hợp cho phép một câu lệnh cập nhật biểu cảm hơn, chẳng hạn như biểu thị các bản cập nhật có điều kiện dựa trên các giá trị trường hiện tại hoặc cập nhật một trường bằng cách sử dụng giá trị của [các] trường khác.
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5 và db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
7 được sử dụng trong đường ống liên quan đến các giai đoạn tổng hợp db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5 và db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
7
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
Để biết ví dụ, xem cập nhật với đường ống tổng hợp.
Bộ sưu tập
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
22 chứa các tài liệu sau:{ "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
Hoạt động sau đây cập nhật tất cả các tài liệu trong đó
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
23 lớn hơn collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
24 và db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5 Một cờ để xem xét:try { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
Hoạt động trả về:
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
Bộ sưu tập hiện chứa các tài liệu sau:
{ "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5, "Review" : true } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8, "Review" : true }
Nếu không tìm thấy trận đấu nào, hoạt động thay vì trả về:
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
0Cài đặt
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
6 sẽ chèn một tài liệu nếu không tìm thấy trận đấu.Bắt đầu từ MongoDB 4.2,
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 có thể sử dụng đường ống tổng hợp để cập nhật. Đường ống có thể bao gồm các giai đoạn sau:{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
8 can use an aggregation pipeline for the update. The pipeline can consist of the following stages:
4 và bí danh của nódb.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
6 và bí danh của nódb.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
7db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
8 và bí danh của nódb.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
9db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
Sử dụng đường ống tổng hợp cho phép một câu lệnh cập nhật biểu cảm hơn, chẳng hạn như biểu thị các bản cập nhật có điều kiện dựa trên các giá trị trường hiện tại hoặc cập nhật một trường bằng cách sử dụng giá trị của [các] trường khác.
Các ví dụ sau sử dụng đường ống tổng hợp để sửa đổi một trường bằng cách sử dụng các giá trị của các trường khác trong tài liệu.
Tạo bộ sưu tập
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
34 với các tài liệu sau:collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
1Giả sử rằng thay vì các trường
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
35 và collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
36 riêng biệt, bạn muốn thu thập chúng thành một trường collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
37 mới. Hoạt động cập nhật sau đây sử dụng đường ống tổng hợp để:Thêm trường
37 mới và đặt trườngcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
39.collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: } Xóa các trường
35 vàcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
36 cho tất cả các tài liệu trong bộ sưu tập.collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
2Ghi chú
Nếu bạn chỉ định một chỉ mục không tồn tại, các lỗi hoạt động.
Lệnh cập nhật trả về như sau:Để xem các chỉ mục được sử dụng, bạn có thể sử dụng đường ống
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
16:Phương thức cập nhật trong MongoDB là gì?
MongoDB cung cấp các phương thức sau để cập nhật tài liệu trong bộ sưu tập: db.collection.updateone [] Cập nhật tối đa một tài liệu phù hợp với một bộ lọc được chỉ định mặc dù nhiều tài liệu có thể khớp với bộ lọc được chỉ định. db.collection.updatemany [] Cập nhật tất cả các tài liệu phù hợp với một bộ lọc được chỉ định.
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
7 loại bỏ các trường collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
35 và collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
36.Sau lệnh, bộ sưu tập chứa các tài liệu sau:
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
3Đường ống tổng hợp cho phép bản cập nhật thực hiện các bản cập nhật có điều kiện dựa trên các giá trị trường hiện tại cũng như sử dụng các giá trị trường hiện tại để tính toán giá trị trường riêng biệt.
Ví dụ: tạo bộ sưu tập
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
59 với các tài liệu sau:collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
4Sử dụng một đường ống tổng hợp, bạn có thể cập nhật các tài liệu với mức trung bình và lớp chữ cái được tính toán.
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
5Ghi chú
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5 được sử dụng trong đường ống đề cập đến giai đoạn tổng hợp db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5 chứ không phải các toán tử cập nhật db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5Giai đoạn đầu tiênGiai đoạn
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5:Tính toán một trường mới
64 dựa trên trung bình của trườngcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
65. Xemcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
66 để biết thêm thông tin về toán tử tổng hợpcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
66 vàcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
68 để biết thêm thông tin về toán tử tập hợp cắt ngắncollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
68.collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: } Đặt trường
39 thành giá trị của biến tổng hợpcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
53. Biến tổng hợpcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
53 giải quyết được giá trị DateTime hiện tại và vẫn giữ nguyên trong suốt quá trình đường ống. Để truy cập các biến tổng hợp, tiền tố biến với các dấu hiệu đô la képcollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
55 và kèm theo trích dẫn.collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5 tính toán một trường mới collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
75 dựa trên trường collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
64 được tính toán trong giai đoạn trước. Xem collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
77 để biết thêm thông tin về toán tử tổng hợp collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
77.Sau lệnh, bộ sưu tập chứa các tài liệu sau:
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
6Mẹo
Xem thêm:
Bộ sưu tập
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
79 chứa các tài liệu sau:collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
7Hoạt động sau đây cập nhật tất cả các tài liệu với
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
80 lớn hơn 4 và collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
81 bằng collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
82:collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
8Hoạt động trả về:
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
9Bộ sưu tập hiện chứa các tài liệu sau:
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
0Vì không có tài liệu nào khớp với bộ lọc và
db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
1 là db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
2, db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
0 đã chèn tài liệu với try { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
7 được tạo, các điều kiện bình đẳng từ db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4 và các bộ điều chỉnh // Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
8.db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
0 inserted the document with a generated try { db.restaurant.updateMany[ { violations: { $gt: 4 } }, { $set: { "Review" : true } } ]; } catch [e] { print[e]; }
7, the equality conditions from the db.collection.updateMany[ , [ { $set: { status: "Modified", comments: [ "$misc1", "$misc2" ] } }, { $unset: [ "misc1", "misc2" ] } ] ... ]
4, and the // Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
8 modifiers.Đưa ra một bộ bản sao ba thành viên, thao tác sau đây chỉ định
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
89 của collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
90 và collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
91 của collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
92:// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
1Nếu sự thừa nhận mất nhiều thời gian hơn giới hạn
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
91, thì ngoại lệ sau được ném:Thay đổi trong phiên bản 4.4.
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
2Bảng sau đây giải thích các giá trị có thể của
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
94:
| Mối quan tâm ghi được chỉ định trong ứng dụng. | ||||||||||||||||||||
| Mối quan tâm ghi có nguồn gốc từ một giá trị mặc định được xác định tùy chỉnh. Xem | ||||||||||||||||||||
| Mối quan tâm ghi có nguồn gốc từ trường | ||||||||||||||||||||
| Mối quan tâm ghi có nguồn gốc từ máy chủ không có tất cả các thông số kỹ thuật viết khác. |
Đối chiếu cho phép người dùng chỉ định các quy tắc cụ thể về ngôn ngữ để so sánh chuỗi, chẳng hạn như các quy tắc cho Lettercase và Dấu nhấn.
Bộ sưu tập
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
01 có các tài liệu sau:// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
3Hoạt động sau bao gồm tùy chọn đối chiếu:
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
4Bắt đầu trong MongoDB 3.6, khi cập nhật trường mảng, bạn có thể chỉ định
{ "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
2 xác định các phần tử mảng nào để cập nhật.Tạo bộ sưu tập
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
03 với các tài liệu sau:// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
5Để cập nhật tất cả các yếu tố lớn hơn hoặc bằng
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
92 trong mảng // INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
05, hãy sử dụng toán tử vị trí được lọc { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
3 với tùy chọn { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
2:// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
6Sau khi hoạt động, bộ sưu tập chứa các tài liệu sau:
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
7Tạo bộ sưu tập
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
08 với các tài liệu sau:// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
8Để sửa đổi giá trị của trường
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
09 cho tất cả các phần tử trong mảng // INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
05 trong đó lớp lớn hơn hoặc bằng // INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
11, hãy sử dụng toán tử vị trí được lọc { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
3 với { "_id" : 1, "name" : "Central Perk Cafe", "violations" : 3 } { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "violations" : 2 } { "_id" : 3, "name" : "Empire State Sub", "violations" : 5 } { "_id" : 4, "name" : "Pizza Rat's Pizzaria", "violations" : 8 }
2:// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
9Sau khi hoạt động, bộ sưu tập có các tài liệu sau:
// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
0Mới trong phiên bản 4.2.1.
Tạo bộ sưu tập mẫu
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
34 với các tài liệu sau:// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
1Tạo các chỉ mục sau trên bộ sưu tập:
// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
2Hoạt động cập nhật sau đây gợi ý rõ ràng để sử dụng chỉ mục
// INVALID [ { "x.a": { $gt: 85 } }, { "x.b": { $gt: 80 } } ]
15:Ghi chú
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5 được sử dụng trong đường ống đề cập đến giai đoạn tổng hợp db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5 chứ không phải các toán tử cập nhật db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
3Giai đoạn đầu tiên
// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
4Giai đoạn
db.collection.updateMany[ , { $set: { status: "D" }, $inc: { quantity: 2 } }, ... ]
5:// Example 1 [ { $or: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 2 [ { $and: [{"x.a": {$gt: 85}}, {"x.b": {$gt: 80}}] } ] // Example 3 [ { "x.a": { $gt: 85 }, "x.b": { $gt: 80 } } ]
5