Hướng dẫn what is multi option in update in mongodb? - đa tùy chọn trong bản cập nhật trong mongodb là gì?
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Show
6
Quan trọngPhương pháp MongoshTrang này ghi lại một phương thức 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. 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 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 9, hãy tham khảo tài liệu để phát hành máy chủ MongoDB tương ứng:
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 0 có dạng sau: 0 method has the following form:
Phương thức 0 lấy các tham số sau: 0 method takes the following parameters:
7
8 và bí danh của nó 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 6 (possibly multiple times), you cannot specify the following for 2 that
includes 2 separate filter documents for 6:
Để biết thêm thông tin, hãy xem Cập nhật với một đường ống tổng hợp.
Để cập nhật với một tài liệu thay thế, xem 0Specify 2 for an Array Update Operations.Không bắt buộc. Khi 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 Cập nhật các tài liệu phù hợp với 4.query predicate.Để 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.
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 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:
Khi triển khai chạy với 8, người dùng phải có quyền truy cập bao gồm các đặc quyền sau:
Vai trò tích hợp 2 cung cấp các đặc quyền cần thiết.
4, using the 8 criteria to apply modifications.Nếu 6 và không có tài liệu nào khớp với 4, 8 sẽ tạo một tài liệu mới dựa trên các tham số 4 và 8. 8 creates a new document based on the 4 and 8 parameters.Nếu bạn chỉ định 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 8, xem các bộ sưu tập Sharded. 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 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. 8 method can accept a document that
only contains update operator expressions to perform.Ví dụ:
Bắt đầu từ MongoDB 4.2, phương pháp 8 có thể chấp nhận đường ống tổng hợp 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: 8 method can accept an
aggregation pipeline 6 that specifies the modifications to perform. The pipeline can consist of the following stages:
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ụ:
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 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.
Nếu 6 và không có tài liệu nào khớp với 4, 8 sẽ tạo một tài liệu mới dựa trên các tham số 4 và 8. 8 operation that includes 6 and is on a sharded collection, you must include the full shard key in the 4.Nếu bạn chỉ định { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 } { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 } 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.Ví dụ: Bắt đầu từ MongoDB 4.2, phương pháp 8 có thể chấp nhận đường ống tổng hợp 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: 4 và bí danh của nó 5not a cross-shard write transaction. 6 và bí danh của nó 7 8 with 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. 8 và bí danh của nó 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( |
collation: { |
locale: |
caseLevel: |
caseFirst: |
strength: |
numericOrdering: |
alternate: |
maxVariable: |
backwards: |
} |
{ "_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:
Nguồn gốc | Sự mô tả | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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