Tài liệu về nhà → Bắt đầu với hướng dẫn → Start with Guides
Trong hướng dẫn này, bạn sẽ học cách lấy dữ liệu từ MongoDB.
Thời gian cần thiết: 10 phút
Một chuỗi kết nối với triển khai MongoDB của bạn.
Bộ dữ liệu mẫu được tải vào cụm của bạn.
Một trình điều khiển MongoDB đã cài đặt.
Trong khối mã này có một nhận xét để thay thế URI kết nối bằng của riêng bạn. Đảm bảo thay thế chuỗi URI bằng chuỗi kết nối ATLAS của bạn. Chuyển sang cơ sở dữ liệu và bộ sưu tập bạn muốn truy vấn. Trong trường hợp này, bạn sẽ sử dụng cơ sở dữ liệu
0 và bộ sưu tập { "_id" : <value>, "name" : { "first" : <string>, "last" : <string> }, // embedded document "birth" : <ISODate>, "death" : <ISODate>, "contribs" : [ <string>, ... ], // Array of Strings "awards" : [ { "award" : <string>, year: <number>, by: <string> } // Array of embedded documents ... ] }
1.{ "_id" : <value>, "name" : { "first" : <string>, "last" : <string> }, // embedded document "birth" : <ISODate>, "death" : <ISODate>, "contribs" : [ <string>, ... ], // Array of Strings "awards" : [ { "award" : <string>, year: <number>, by: <string> } // Array of embedded documents ... ] }
Dưới đây là mã hoàn chỉnh theo sau là đầu ra mẫu.
Ghi chú
Giá trị
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
Nếu bạn đã hoàn thành thành công quy trình trong hướng dẫn này, bạn đã lấy dữ liệu từ MongoDB.
Trong hướng dẫn tiếp theo, bạn sẽ học cách truy xuất dữ liệu từ MongoDB bằng các tiêu chí.
Đối với các hướng dẫn khác của CRUD:
Đọc dữ liệu từ MongoDB với các truy vấn
Đọc dữ liệu bằng cách sử dụng các toán tử và truy vấn hợp chất
Chèn dữ liệu vào MongoDB
Cập nhật dữ liệu trong MongoDB
Xóa dữ liệu khỏi MongoDB
Tài liệu về nhà → Bắt đầu với hướng dẫn → Start with Guides
Trong hướng dẫn trước, đọc dữ liệu bằng MongoDB, bạn đã truy xuất tất cả các tài liệu từ bộ sưu tập
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
Trong hướng dẫn này, bạn sẽ truy vấn thu thập và truy xuất các tài liệu phù hợp với các tiêu chí bình đẳng cụ thể, có nghĩa là các giá trị của trường hoặc trường được chỉ định phải khớp.equality criteria, meaning the values of the specified field or fields must match.
Thời gian cần thiết: 15 phút
Một chuỗi kết nối với triển khai MongoDB của bạn.
Bộ dữ liệu mẫu được tải vào cụm của bạn.
Một trình điều khiển MongoDB đã cài đặt.
Mẹo
Trong khối mã này có một nhận xét để thay thế URI kết nối bằng của riêng bạn. Thay thế chuỗi URI bằng chuỗi kết nối ATLAS của riêng bạn.
Chuyển sang cơ sở dữ liệu và bộ sưu tập bạn muốn truy vấn. Trong trường hợp này, bạn sẽ sử dụng cơ sở dữ liệu
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
Bạn có thể truy xuất các tài liệu cụ thể từ một bộ sưu tập bằng cách áp dụng bộ lọc truy vấn. Bộ lọc truy vấn là một tài liệu chứa các tiêu chí bạn đang tìm kiếm. Ví dụ sau đây minh họa bằng cách sử dụng bộ lọc truy vấn để truy xuất các tài liệu từ bộ sưu tập
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
Dưới đây là mã hoàn chỉnh theo sau là đầu ra mẫu.
Ghi chú
Giá trị
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
Bạn cũng có thể truy vấn bộ sưu tập bằng nhiều tiêu chí. Ví dụ sau đây minh họa bằng cách sử dụng nhiều tiêu chí để truy xuất các tài liệu từ bộ sưu tập
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
db.bios.find( { _id: 5 } )
2 vàdb.bios.find( { _id: 5 } )
3 như một mục trong trườngdb.bios.find( { _id: 5 } )
4.Mặc dù trường
db.bios.find( { _id: 5 } )
4 là một mảng, bạn có thể sử dụng truy vấn bình đẳng nghiêm ngặt vì MongoDB coi các mảng là loại hạng nhất. Trong quá trình thực hiện truy vấn, MongoDB đã so sánh từng mục trong mảng với giá trị bạn đã chỉ định, trong trường hợp này làdb.bios.find( { _id: 5 } )
6, để xác định xem các tài liệu có khớp với tiêu chí của bạn không.Nếu bạn đã hoàn thành hướng dẫn này, bạn đã lấy dữ liệu từ MongoDB bằng các tiêu chí bình đẳng cụ thể. Điều này rất hữu ích khi bạn biết chính xác những gì bạn đang tìm kiếm, ví dụ như số mục, tên người dùng hoặc phần tử hóa học.
Trong hướng dẫn tiếp theo, bạn sẽ tìm hiểu cách đọc dữ liệu từ MongoDB bằng cách sử dụng các nhà khai thác so sánh để truy xuất các tài liệu phù hợp với một bộ tiêu chí rộng hơn.
Xem các tài nguyên sau đây để biết thêm thông tin chuyên sâu về các khái niệm được trình bày ở đây:
Chỉ định điều kiện bình đẳng
Khớp với một mảng được nhúng hoặc lồng nhau
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
db.bios.find( { _id: 5 } )
7Quan trọng
Phương pháp Mongosh
Trang này ghi lại một phương thức
db.bios.find( { _id: 5 } )
8. Đâ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. Để sử dụng lệnh cơ sở dữ liệu, hãy xem lệnhdb.bios.find( { _id: 5 } )
9.db.bios.find( { _id: 5 } )
8 method. This is not the documentation for database commands or language-specific drivers, such as Node.js. To use the database command, see thedb.bios.find( { _id: 5 } )
9 command.Đố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
db.bios.find( { "name.last": "Hopper" } )
0, 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
Chọn các tài liệu trong một bộ sưu tập hoặc xem và trả về con trỏ cho các tài liệu đã chọn.
truy vấn | tài liệu | Không bắt buộc. Chỉ định bộ lọc lựa chọn bằng toán tử truy vấn. Để trả về tất cả các tài liệu trong một bộ sưu tập, hãy bỏ qua tham số này hoặc chuyển một tài liệu trống ( db.bios.find( { "name.last": "Hopper" } ) 1). |
chiếu | tài liệu | Không bắt buộc. Chỉ định bộ lọc lựa chọn bằng toán tử truy vấn. Để trả về tất cả các tài liệu trong một bộ sưu tập, hãy bỏ qua tham số này hoặc chuyển một tài liệu trống ( db.bios.find( { "name.last": "Hopper" } ) 1).Projection. |
chiếu | tài liệu | Không bắt buộc. Chỉ định bộ lọc lựa chọn bằng toán tử truy vấn. Để trả về tất cả các tài liệu trong một bộ sưu tập, hãy bỏ qua tham số này hoặc chuyển một tài liệu trống ( db.bios.find( { "name.last": "Hopper" } ) 1).FindOptions. |
chiếu db.bios.find( { "name.last": "Hopper" } ) 3 method "returns documents," the method is actually returning a cursor to the documents. |
Quan trọng
Phương pháp Mongosh
Trang này ghi lại một phương thức
db.bios.find( { _id: 5 } )
8. Đâ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. Để sử dụng lệnh cơ sở dữ liệu, hãy xem lệnhdb.bios.find( { _id: 5 } )
9.{ <field1>: <value>, <field2>: <value> ... }
db.bios.find( { "name.last": "Hopper" } ) | truy vấn | ||||||||||||||
db.bios.find( { "name.last": "Hopper" } ) | tài liệu | ||||||||||||||
db.bios.find( { "name.last": "Hopper" } ) | Không bắt buộc. Chỉ định bộ lọc lựa chọn bằng toán tử truy vấn. Để trả về tất cả các tài liệu trong một bộ sưu tập, hãy bỏ qua tham số này hoặc chuyển một tài liệu trống ( db.bios.find( { "name.last": "Hopper" } ) | ||||||||||||||
| chiếu | ||||||||||||||
| Không bắt buộc. Chỉ định các trường để trả về trong các tài liệu phù hợp với bộ lọc truy vấn. Để trả về tất cả các trường trong các tài liệu phù hợp, hãy bỏ qua tham số này. Để biết chi tiết, xem phép chiếu. | ||||||||||||||
| tùy chọn Không bắt buộc. Chỉ định các tùy chọn bổ sung cho truy vấn. Các tùy chọn này sửa đổi hành vi truy vấn và cách kết quả được trả về. Để xem các tùy chọn có sẵn, xem FindOptions.
Tham số db.bios.find( { "name.last": "Hopper" } ) 4 xác định các trường nào được trả về trong các tài liệu phù hợp. Tham sốdb.bios.find( { "name.last": "Hopper" } ) 4 lấy một tài liệu của biểu mẫu sau:Chiếu |
Chỉ định bao gồm một trường. Số nguyên khác không cũng được coi là
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
Chỉ định loại trừ một trường.
Với việc sử dụng toán tử chiếu mảng
0, bạn có thể chỉ định trình chiếu để trả về phần tử đầu tiên phù hợp với điều kiện truy vấn trên trường mảng; ví dụ.db.bios.find( { _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } )
1. (Không có sẵn cho các lượt xem.) Số nguyên khác nhau cũng được coi làdb.bios.find( { _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } )
8.{ "_id" : <value>, "name" : { "first" : <string>, "last" : <string> }, // embedded document "birth" : <ISODate>, "death" : <ISODate>, "contribs" : [ <string>, ... ], // Array of Strings "awards" : [ { "award" : <string>, year: <number>, by: <string> } // Array of embedded documents ... ] }
Sử dụng các toán tử chiếu mảng
db.bios.find( |
{ _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } |
) |
db.bios.find( |
{ _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } |
) |
Sử dụng biểu thức toán tử
db.bios.find( |
{ _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } |
) |
db.bios.find( |
{ _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } |
) |
Chỉ định giá trị của trường dự kiến.
Trong các dự báo loại trừ rõ ràng các trường, trường
1 là trường duy nhất mà bạn có thể bao gồm rõ ràng; Tuy nhiên, trườngdb.bios.find( { "name.last": { $regex: /^N/ } } )
1 được bao gồm theo mặc định.db.bios.find( { "name.last": { $regex: /^N/ } } )
Xem các ví dụ chiếu.Projection Examples.
Thực hiện
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
db.bios.find( { _id: 5 } )
8 tự động lặp lại con trỏ để hiển thị lên đến 20 tài liệu đầu tiên. Loại{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
db.bios.find( { _id: 5 } )
8 automatically iterates the cursor to display up to the first 20 documents. Type{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Để truy cập các tài liệu được trả về với trình điều khiển, hãy sử dụng cơ chế xử lý con trỏ thích hợp cho ngôn ngữ trình điều khiển.driver language.
Mẹo
Để chỉ định mối quan tâm đọc cho
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
MongoDB coi một số loại dữ liệu tương đương với mục đích so sánh. Ví dụ, các loại số trải qua chuyển đổi trước khi so sánh. Tuy nhiên, đối với hầu hết các loại dữ liệu, các toán tử so sánh chỉ thực hiện so sánh trên các tài liệu trong đó loại BSON của trường đích phù hợp với loại của toán hạng truy vấn. Xem xét bộ sưu tập sau:
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Truy vấn sau sử dụng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.collection.find( { qty: { $gt: 4 } } )
Truy vấn trả về các tài liệu sau:
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
Tài liệu có
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Tài liệu có
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Ghi chú
Mới trong phiên bản 4.0.
Đối với con trỏ được tạo trong một phiên, bạn không thể gọi
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Tương tự, đối với con trỏ được tạo ra bên ngoài phiên, bạn không thể gọi
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Bắt đầu từ MongoDB 3.6, Trình điều khiển MongoDB và
db.bios.find( { _id: 5 } )
8 liên kết tất cả các hoạt động với một phiên máy chủ, ngoại trừ các hoạt động ghi không được biết đến. Đối với các hoạt động không được liên kết rõ ràng với phiên (nghĩa là sử dụng{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.bios.find( { _id: 5 } )
8 tạo ra một phiên ngầm và liên kết nó với hoạt động.db.bios.find( { _id: 5 } )
8 associate all operations with a server session, with the exception of unacknowledged write operations. For operations not explicitly associated with a session (i.e. using{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.bios.find( { _id: 5 } )
8 create an implicit session and associate it with the operation.Nếu một phiên nhàn rỗi trong hơn 30 phút, máy chủ MongoDB sẽ đánh dấu phiên đó là hết hạn và có thể đóng nó bất cứ lúc nào. Khi máy chủ MongoDB đóng phiên, nó cũng giết chết mọi hoạt động đang thực hiện và các con trỏ mở liên quan đến phiên. Điều này bao gồm các con trỏ được cấu hình với
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Đối với các hoạt động có thể nhàn rỗi trong hơn 30 phút, liên kết hoạt động với một phiên rõ ràng bằng cách sử dụng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
8 có thể được sử dụng bên trong các giao dịch đa tài liệu. can be used inside multi-document transactions.db.bios.find( { "name.last": { $regex: /^N/ } } )
-
Đối với con trỏ được tạo ra ngoài giao dịch, bạn không thể gọi
16 bên trong giao dịch.{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } Đối với con trỏ được tạo trong một giao dịch, bạn không thể gọi
16 ngoài giao dịch.{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
Quan trọng
Trong hầu hết các trường hợp, giao dịch đa tài liệu phát sinh chi phí hiệu suất lớn hơn so với ghi tài liệu đơn lẻ và sự sẵn có của các giao dịch đa tài liệu không nên là một sự thay thế cho thiết kế lược đồ hiệu quả. Đối với nhiều kịch bản, mô hình dữ liệu được chuẩn hóa (tài liệu và mảng nhúng) sẽ tiếp tục tối ưu cho các trường hợp dữ liệu và sử dụng của bạn. Đó là, đối với nhiều kịch bản, mô hình hóa dữ liệu của bạn một cách thích hợp sẽ giảm thiểu nhu cầu cho các giao dịch đa tài liệu.
Để biết các cân nhắc sử dụng giao dịch bổ sung (như giới hạn thời gian chạy và giới hạn kích thước oplog), xem thêm các cân nhắc sản xuất.
Bắt đầu từ MongoDB 4.2, nếu khách hàng phát hành
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Các ví dụ trong phần này sử dụng các tài liệu từ Bộ sưu tập BIOS trong đó các tài liệu thường có biểu mẫu:
{ |
"_id" : <value>, |
"name" : { "first" : <string>, "last" : <string> }, // embedded document |
"birth" : <ISODate>, |
"death" : <ISODate>, |
"contribs" : [ <string>, ... ], // Array of Strings |
"awards" : [ |
{ "award" : <string>, year: <number>, by: <string> } // Array of embedded documents |
... |
] |
} |
Để tạo và điền vào bộ sưu tập
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Phương thức
db.bios.find( { "name.last": "Hopper" } )
3 không có tham số trả về tất cả các tài liệu từ bộ sưu tập và trả về tất cả các trường cho các tài liệu. Ví dụ: thao tác sau đây trả về tất cả các tài liệu trong bộ sưu tập BIOS:db.bios.find( { "name.last": "Hopper" } )
3 method with no parameters returns all documents from a collection and returns all fields for the documents. For example, the following operation returns all documents in the bios collection:Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó
1 bằngdb.bios.find( { "name.last": { $regex: /^N/ } } )
35:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } db.bios.find( { _id: 5 } )
Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS trong đó trường
36 trong tài liệu nhúng{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
37 bằng{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
38:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } db.bios.find( { "name.last": "Hopper" } )
Ghi chú
Mới trong phiên bản 4.0.
Đối với con trỏ được tạo trong một phiên, bạn không thể gọi
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.bios.find( { "name.last": "Hopper" } )
3 with the{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Tương tự, đối với con trỏ được tạo ra bên ngoài phiên, bạn không thể gọi
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Bắt đầu từ MongoDB 3.6, Trình điều khiển MongoDB và
db.bios.find( { _id: 5 } )
8 liên kết tất cả các hoạt động với một phiên máy chủ, ngoại trừ các hoạt động ghi không được biết đến. Đối với các hoạt động không được liên kết rõ ràng với phiên (nghĩa là sử dụng
19), trình điều khiển MongoDB và{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } db.bios.find( { _id: 5 } )
8 tạo ra một phiên ngầm và liên kết nó với hoạt động.db.bios.find( { _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } ) Hoạt động sau sử dụng toán tử
03 trả về tất cả các tài liệu từ bộ sưu tập{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
31 trong đó{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
48 lớn hơn{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
49:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } db.bios.find( { birth: { $gt: new Date('1950-01-01') } } )
Hoạt động sau sử dụng toán tử
50 để trả về tài liệu trong bộ sưu tập BIOS trong đó trường{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
51 bắt đầu bằng chữ cái{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
52 (hoặc là{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
53){ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } db.bios.find( { "name.last": { $regex: /^N/ } } )
Để biết danh sách các toán tử truy vấn, xem Trình chọn truy vấn.
Kết hợp các toán tử so sánh để chỉ định phạm vi cho một trường. Hoạt động sau đây trả về từ các tài liệu bộ sưu tập BIOS trong đó
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Để biết danh sách các toán tử truy vấn, xem Trình chọn truy vấn.
Kết hợp các toán tử so sánh để chỉ định phạm vi cho một trường. Hoạt động sau đây trả về từ các tài liệu bộ sưu tập BIOS trong đó
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Để biết danh sách các toán tử truy vấn, xem Trình chọn truy vấn.
Kết hợp các toán tử so sánh để chỉ định phạm vi cho một trường. Hoạt động sau đây trả về từ các tài liệu bộ sưu tập BIOS trong đó
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Hoạt động sau trả về tất cả các tài liệu từ Bộ sưu tập BIOS trong đó trường
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Các ví dụ sau đây truy vấn trường nhúng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS trong đó tài liệu nhúng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Trường
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS trong đó tài liệu nhúng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Truy vấn khớp với tài liệu trong đó trường
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Để biết thêm thông tin và ví dụ, xem thêm Truy vấn trên các tài liệu nhúng/lồng nhau.
6{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } Các ví dụ sau đây truy vấn mảng
77 trong bộ sưu tập BIOS.{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
7{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó trường mảng
77 chứa phần tử{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
79:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
8{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó trường mảng
77 chứa phần tử{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
81 hoặc{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
82:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } Hoạt động sau sử dụng toán tử truy vấn
83 để trả về các tài liệu trong bộ sưu tập BIOS trong đó trường mảng{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
77 chứa cả hai phần tử{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
81 và{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
82:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
9{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
Để biết thêm ví dụ, xem
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.bios.find( |
{ _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } |
) |
Hoạt động sau sử dụng toán tử
89 để trả về các tài liệu trong bộ sưu tập BIOS trong đó kích thước mảng là{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
77 là 4:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } Để biết thêm thông tin và ví dụ về truy vấn một mảng, xem:
Truy vấn một mảng
Truy vấn một loạt các tài liệu nhúng
Để biết danh sách các toán tử truy vấn cụ thể mảng, xem Array.
db.collection.find( { qty: { $gt: 4 } } )
0Các ví dụ sau đây truy vấn mảng
91 trong bộ sưu tập BIOS.{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } db.collection.find( { qty: { $gt: 4 } } )
1Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng
91 chứa một phần tử với trường{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
93 bằng{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
94:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
Để biết thêm ví dụ, xem
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.bios.find( |
{ _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } |
) |
Hoạt động sau sử dụng toán tử
89 để trả về các tài liệu trong bộ sưu tập BIOS trong đó kích thước mảng là{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" }
77 là 4:{ "_id": "apples", "qty": 5 } { "_id": "bananas", "qty": 7 } { "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } { "_id": "avocados", "qty": "fourteen" } Để biết thêm thông tin và ví dụ về truy vấn một mảng, xem:
Truy vấn một mảng
Truy vấn một loạt các tài liệu nhúngprojection parameter specifies which fields to return. The parameter contains either include or exclude specifications, not both, unless the exclude is for the
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
Để biết danh sách các toán tử truy vấn cụ thể mảng, xem Array.
Các ví dụ sau đây truy vấn mảng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.collection.find( { qty: { $gt: 4 } } )
2Để biết danh sách các toán tử truy vấn cụ thể mảng, xem Array.
Các ví dụ sau đây truy vấn mảng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.collection.find( { qty: { $gt: 4 } } )
3Để biết danh sách các toán tử truy vấn cụ thể mảng, xem Array.
Các ví dụ sau đây truy vấn mảng
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Hoạt động sau tìm thấy các tài liệu trong bộ sưu tập BIOS và chỉ trả về trường
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.collection.find( { qty: { $gt: 4 } } )
4Các truy vấn hoạt động sau đây Bộ sưu tập BIOS và trả về trường
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.collection.find( { qty: { $gt: 4 } } )
5Bắt đầu từ MongoDB 4.4, bạn cũng có thể chỉ định các trường được nhúng bằng mẫu lồng nhau, ví dụ:
db.collection.find( { qty: { $gt: 4 } } )
6Bắt đầu từ MongoDB 4.4, phép chiếu
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
Với việc sử dụng các biểu thức tổng hợp và cú pháp, bạn có thể chiếu các trường mới hoặc chiếu các trường hiện có với các giá trị mới. Ví dụ: thao tác sau sử dụng các biểu thức tổng hợp để ghi đè giá trị của các trường
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
db.collection.find( { qty: { $gt: 4 } } )
24,db.collection.find( { qty: { $gt: 4 } } )
25 vàdb.collection.find( { qty: { $gt: 4 } } )
26.db.collection.find( { qty: { $gt: 4 } } )
7Để đặt trường
db.collection.find( { qty: { $gt: 4 } } )
27 thành giá trịdb.collection.find( { qty: { $gt: 4 } } )
28 Hoạt động trả về các tài liệu sau:db.collection.find( { qty: { $gt: 4 } } )
8Mẹo
Xem thêm:
Phương pháp
db.bios.find( { "name.last": "Hopper" } )
3 trả về một con trỏ cho kết quả.db.bios.find( { "name.last": "Hopper" } )
3 method returns a cursor to the results.Trong
db.bios.find( { _id: 5 } )
8, nếu con trỏ được trả về không được gán cho một biến bằng cách sử dụng từ khóadb.collection.find( { qty: { $gt: 4 } } )
31, con trỏ sẽ tự động lặp lại để truy cập vào 20 tài liệu đầu tiên khớp với truy vấn. Bạn có thể đặt biếndb.collection.find( { qty: { $gt: 4 } } )
32 để thay đổi số lượng tài liệu lặp tự động.db.bios.find( { _id: 5 } )
8, if the returned cursor is not assigned to a variable using thedb.collection.find( { qty: { $gt: 4 } } )
31 keyword, the cursor is automatically iterated to access up to the first 20 documents that match the query. You can set thedb.collection.find( { qty: { $gt: 4 } } )
32 variable to change the number of automatically iterated documents.Để lặp theo cách thủ công qua các kết quả, gán con trỏ được trả về cho một biến với từ khóa
db.collection.find( { qty: { $gt: 4 } } )
31, như được hiển thị trong các phần sau.Ví dụ sau sử dụng biến
db.collection.find( { qty: { $gt: 4 } } )
34 để lặp qua con trỏ và in các tài liệu phù hợp:db.collection.find( { qty: { $gt: 4 } } )
9Ví dụ sau sử dụng phương pháp con trỏ
db.collection.find( { qty: { $gt: 4 } } )
35 để truy cập các tài liệu:{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
Để in, bạn cũng có thể sử dụng phương thức
db.collection.find( { qty: { $gt: 4 } } )
36 thay vìdb.collection.find( { qty: { $gt: 4 } } )
37:{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
Ví dụ sau sử dụng phương pháp con trỏ
db.collection.find( { qty: { $gt: 4 } } )
38 để lặp lại con trỏ và truy cập các tài liệu:{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
db.bios.find( { _id: 5 } ) db.bios.find( { "name.last": "Hopper" } ) db.bios.find( { "name.last": "Hopper" } )
Phương thức
db.collection.find( { qty: { $gt: 4 } } )
41 đặt hàng các tài liệu trong tập kết quả. Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS được sắp xếp theo thứ tự tăng dần theo trường{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
db.collection.find( { qty: { $gt: 4 } } )
41 tương ứng với câu lệnhdb.collection.find( { qty: { $gt: 4 } } )
44 trong SQL.Phương pháp
db.collection.find( { qty: { $gt: 4 } } )
45 giới hạn số lượng tài liệu trong tập kết quả. Hoạt động sau đây trả về nhiều nhất{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
db.collection.find( { qty: { $gt: 4 } } )
45 tương ứng với câu lệnhdb.collection.find( { qty: { $gt: 4 } } )
48 trong SQL.Phương pháp
db.collection.find( { qty: { $gt: 4 } } )
49 kiểm soát điểm bắt đầu của tập kết quả. Hoạt động sau bỏ qua các tài liệu{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } } |
{ "_id": "avocados", "qty": "fourteen" } |
Đố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.
Phương pháp
db.collection.find( { qty: { $gt: 4 } } )
51 chỉ định đối chiếu cho hoạt độngdb.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
db.bios.find( |
{ "name.last": { $regex: /^N/ } } |
) |
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
Các báo cáo sau đây chuỗi các phương thức con trỏ
db.collection.find( { qty: { $gt: 4 } } )
45 vàdb.collection.find( { qty: { $gt: 4 } } )
41{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
Hai tuyên bố là tương đương; tức là thứ tự mà bạn chuỗi các phương pháp
db.collection.find( { qty: { $gt: 4 } } )
45 vàdb.collection.find( { qty: { $gt: 4 } } )
41 không đáng kể. Cả hai câu lệnh trả về năm tài liệu đầu tiên, như được xác định bởi thứ tự sắp xếp tăng dần trên 'tên'.
|
|
Bạn có thể chỉ định các tùy chọn truy vấn để sửa đổi hành vi truy vấn và cho biết cách trả về kết quả.
Ví dụ: để xác định các biến mà bạn có thể truy cập ở nơi khác trong phương thức
db.bios.find( { _id: 5 } )
9, hãy sử dụng tùy chọndb.collection.find( { qty: { $gt: 4 } } )
90. Để lọc kết quả bằng cách sử dụng một biến, bạn phải truy cập biến trong toán tửdb.collection.find( { qty: { $gt: 4 } } )
91.Tạo bộ sưu tập
db.collection.find( { qty: { $gt: 4 } } )
92:{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
Ví dụ sau đây xác định biến
db.collection.find( { qty: { $gt: 4 } } )
93 trongdb.collection.find( { qty: { $gt: 4 } } )
90 và sử dụng biến để lấy hương vị bánh sô cô la:{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
Output:
{ "_id": "apples", "qty": 5 } |
{ "_id": "bananas", "qty": 7 } |
Để xem tất cả các tùy chọn truy vấn có sẵn, xem FindOptions.FindOptions.