Đối với tài liệu trình bao
{ "_id" : , "name" : { "first" : , "last" : }, // embedded document "birth" : , "death" : , "contribs" : [ , .. ], // Array of Strings "awards" : [ { "award" : , year: , by: } // Array of embedded documents .. ]}
5 kế thừa, hãy tham khảo tài liệu cho bản phát hành Máy chủ MongoDB tương ứngvỏ mongo v4. 4
vỏ mongo v4. 2
Chọn tài liệu trong bộ sưu tập hoặc chế độ xem và trả lại a cho tài liệu đã chọn
Tham số
Loại
Sự miêu tả
tài liệu
Không bắt buộc. Chỉ định bộ lọc lựa chọn sử dụ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 [
6]{ "_id" : , "name" : { "first" : , "last" : }, // embedded document "birth" : , "death" : , "contribs" : [ , .. ], // Array of Strings "awards" : [ { "award" : , year: , by: } // Array of embedded documents .. ]}
tài liệu
Không bắt buộc. Chỉ định các trường sẽ trả về trong tài liệu khớp với bộ lọc truy vấn. Để trả lại tất cả các trường trong tài liệu phù hợp, hãy bỏ qua tham số này. Để biết chi tiết, xem
tài liệu
Tùy chọn. 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 khả dụng, hãy xem FindOptions.
{ "_id" : , "name" : { "first" : , "last" : }, // embedded document "birth" : , "death" : , "contribs" : [ , .. ], // Array of Strings "awards" : [ { "award" : , year: , by: } // Array of embedded documents .. ]}
7. Khi phương thức "trả về tài liệu", phương thức này thực sự trả về một con trỏ tới tài liệuCư xử
chiếu
Quan trọng
Tính nhất quán ngôn ngữ
Bắt đầu từ MongoDB 4. 4, là một phần của việc tạo và chiếu phù hợp với giai đoạn tổng hợp,
Các và chiếu có thể chấp nhận
MongoDB thực thi các hạn chế bổ sung liên quan đến các phép chiếu. Xem để biết chi tiết
Tham số
db.bios.find[]
4 xác định trường nào được trả về trong tài liệu phù hợp. Tham số db.bios.find[]
4 lấy một tài liệu có dạng sau{ : , : .. }
chiếu
Sự miêu tả
6db.bios.find[]
Chỉ định bao gồm một lĩnh vực. Các số nguyên khác 0 cũng được coi là
7db.bios.find[]
8db.bios.find[]
Chỉ định loại trừ một trường
9db.bios.find[]
Với việc sử dụng toán tử phép chiếu mảng, bạn có thể chỉ định phép chiếu trả về phần tử đầu tiên khớp với điều kiện truy vấn trên trường mảng; . g.
1. [Không có sẵn để xem. ] Các số nguyên khác 0 cũng được coi là db.bios.find[ { _id: 5 } ]
7db.bios.find[]
3db.bios.find[ { _id: 5 } ]
Sử dụng các toán tử chiếu mảng , , chỉ định [các] phần tử mảng cần bao gồm, do đó loại trừ những phần tử không đáp ứng các biểu thức. [Không có sẵn để xem. ]
6db.bios.find[ { _id: 5 } ]
Sử dụng biểu thức toán tử, chỉ định việc bao gồm các giá trị có sẵn. [Không có sẵn để xem. ]
9db.bios.find[ { _id: 5 } ]
Chỉ định giá trị của trường dự kiến Bắt đầu từ MongoDB 4. 4, với việc sử dụng , bao gồm cả việc sử dụng các biến số và tổng hợ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ụ, Nếu bạn chỉ định một ký tự không phải là số, không phải dạng boolean [chẳng hạn như một chuỗi ký tự hoặc một mảng hoặc một biểu thức toán tử] cho giá trị chiếu, trường sẽ được chiếu với giá trị mới; . g
0db.bios.find[ { "name.last": "Hopper" } ]
db.bios.find[ { "name.last": "Hopper" } ]
1db.bios.find[ { "name.last": "Hopper" } ]
2Để chiếu một giá trị bằng chữ cho một trường, hãy sử dụng biểu thức tổng hợp; . g
4db.bios.find[ { "name.last": "Hopper" } ]
5db.bios.find[ { "name.last": "Hopper" } ]
6db.bios.find[ { "name.last": "Hopper" } ]
Trong phiên bản 4. 2 trở về trước, bất kỳ giá trị thông số kỹ thuật nào [ngoại trừ ] được coi là
db.bios.find[]
7 hoặc db.bios.find[ { "name.last": "Hopper" } ]
8 để biểu thị việc bao gồm hoặc loại trừ trường nàyMới trong phiên bản 4. 4
Thông số trường nhúng
Đối với các trường trong tài liệu được nhúng, bạn có thể chỉ định trường bằng cách sử dụng một trong hai
; . g.
9db.bios.find[ { "name.last": "Hopper" } ]
hình thức lồng nhau; . g.
0 [Bắt đầu từ MongoDB 4. 4]db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 Chiếu trường
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
Theo mặc định, trường
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 được bao gồm trong các tài liệu được trả về trừ khi bạn chỉ định rõ ràng db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
3 trong phép chiếu để loại bỏ trường nàyBao gồm hoặc loại trừ
Một
db.bios.find[]
4 không thể chứa cả thông số kỹ thuật bao gồm và loại trừ, ngoại trừ trường db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1Trong các phép chiếu bao gồm các trường một cách rõ ràng, trường
1 là trường duy nhất mà bạn có thể loại trừ một cách rõ ràngdb.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
Trong các phép chiếu loại trừ các trường một cách rõ ràng, trường
1 là trường duy nhất mà bạn có thể đưa vào một cách rõ ràng;db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
Thấy
Xử lý con trỏ
Thực hiện tự động lặp lại con trỏ để hiển thị tối đa 20 tài liệu đầu tiên. Nhập
db.bios.find[ { birth: { $gt: new Date['1950-01-01'] } } ]
1 để tiếp tục lặp lạiĐể truy cập tài liệu được trả về bằng 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 .
Mẹo
Xem thêm
đọc mối quan tâm
Để chỉ định mối quan tâm đã đọc cho , hãy sử dụng phương thức
Loại dấu ngoặc
MongoDB coi một số loại dữ liệu là tương đương cho mục đích so sánh. Chẳng hạn, 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 kiểu dữ liệu, toán tử so sánh chỉ thực hiện so sánh trên các tài liệu trong đó trường đích khớp với loại toán hạng truy vấn. Hãy 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 đây sử dụng để trả về các tài liệu có giá trị của
db.bios.find[ { birth: { $gt: new Date['1950-01-01'] } } ]
6 lớn hơn db.bios.find[ { birth: { $gt: new Date['1950-01-01'] } } ]
7db.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[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 bằng với db.bios.find[ { birth: { $gt: new Date['1950-01-01'] } } ]
9 không được trả về vì giá trị db.bios.find[ { birth: { $gt: new Date['1950-01-01'] } } ]
6 của nó thuộc loại { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
01 trong khi toán hạng thuộc loại { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
03Tài liệu có
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 bằng với { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
05 không được trả lại vì giá trị db.bios.find[ { birth: { $gt: new Date['1950-01-01'] } } ]
6 của nó thuộc loại { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
07Ghi chú
Để thực thi các loại dữ liệu trong một bộ sưu tập, hãy sử dụng Xác thực lược đồ
phiên
Đối với các con trỏ được tạo bên trong phiên, bạn không thể gọi bên ngoài phiên
Tương tự, đối với các con trỏ được tạo bên ngoài phiên, bạn không thể gọi bên trong phiên
Thời gian chờ của phiên không hoạt động
Trình điều khiển MongoDB và liên kết tất cả các hoạt động với phiên máy chủ, ngoại trừ các hoạt động ghi chưa được xác nhận. Đối với các hoạt động không được liên kết rõ ràng với một phiên [i. e. bằng cách sử dụng ], trình điều khiển MongoDB và
{ "_id" : , "name" : { "first" : , "last" : }, // embedded document "birth" : , "death" : , "contribs" : [ , .. ], // Array of Strings "awards" : [ { "award" : , year: , by: } // Array of embedded documents .. ]}
3 tạo một phiên ẩn và liên kết nó với hoạt độngNếu một phiên không hoạt động 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 phiên bất kỳ lúc nào. Khi máy chủ MongoDB đóng phiên, nó cũng sẽ hủy mọi hoạt động đang diễn ra và các con trỏ mở được liên kết với phiên. Điều này bao gồm các con trỏ được định cấu hình bằng hoặc lớn hơn 30 phút
Đối với các hoạt động có thể không hoạt động trong hơn 30 phút, hãy liên kết hoạt động với một phiên rõ ràng bằng cách sử dụng và làm mới phiên định kỳ bằng lệnh. Xem để biết thêm thông tin
giao dịch
có thể được sử dụng bên trong các giao dịch nhiều tài liệu
Đối với các con trỏ được tạo bên ngoài giao dịch, bạn không thể gọi bên trong giao dịch
Đối với các con trỏ được tạo trong giao dịch, bạn không thể gọi bên ngoài giao dịch
Quan trọng
Trong hầu hết các trường hợp, giao dịch nhiều tài liệu phát sinh chi phí hiệu suất cao hơn so với ghi một tài liệu và tính khả dụng của các giao dịch nhiều tài liệu không phải là sự thay thế cho thiết kế lược đồ hiệu quả. Đối với nhiều trường hợp, sẽ tiếp tục tối ưu cho dữ liệu và trường hợp sử dụng của bạn. Nghĩa là, trong nhiều tình huống, việc lập mô hình dữ liệu của bạn một cách thích hợp sẽ giảm thiểu nhu cầu giao dịch nhiều tài liệu
Để biết các cân nhắc sử dụng giao dịch bổ sung [chẳng hạn như giới hạn thời gian chạy và giới hạn kích thước oplog], hãy xem thêm Cân nhắc sản xuất
Ngắt kết nối máy khách
Bắt đầu từ MongoDB 4. 2, nếu máy khách đã ngắt kết nối trước khi thao tác hoàn tất, MongoDB sẽ đánh dấu việc chấm dứt bằng cách sử dụng
ví dụ
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 nơi các tài liệu thường có dạng
{ "_id" : , "name" : { "first" : , "last" : }, // embedded document "birth" : , "death" : , "contribs" : [ , .. ], // Array of Strings "awards" : [ { "award" : , year: , by: } // 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" }
23, hãy xem Bộ sưu tập ví dụ về { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
23Tìm tất cả tài liệu trong một bộ sưu tập
Phương thức không có tham số trả về tất cả tài liệu từ một bộ sưu tập và trả về tất cả các trường cho tài liệu. Ví dụ: thao tác sau trả về tất cả tài liệu trong bộ sưu tập bios
db.bios.find[]
Tìm tài liệu phù hợp với tiêu chí truy vấn
Truy vấn bình đẳng
Thao tác sau đây trả về các tài liệu trong bộ sưu tập bios trong đó
1 bằngdb.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
27{ "_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 } ]
Thao tác sau đây trả về các tài liệu trong bộ sưu tập bios trong đó trường
28 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" }
29 bằng với{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
30{ "_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ú
Để truy cập các trường trong tài liệu được nhúng, hãy sử dụng [
31]{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
Truy vấn sử dụng toán tử
Để tìm tài liệu phù hợp với một bộ tiêu chí lựa chọn, hãy gọi với tham số
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
33MongoDB cung cấp nhiều cách khác nhau để chỉ định các tiêu chí
Thao tác sau đây sử dụng toán tử để trả lại tài liệu trong bộ sưu tập bios trong đó
1 bằng vớidb.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
27 hoặc{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
37{ "_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"] ] } }]
Thao tác sau đây sử dụng toán tử trả về tất cả các tài liệu từ bộ sưu tập
23 trong đó{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
40 lớn hơn{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
41{ "_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'] } } ]
Thao tác sau đây sử dụng toán tử để trả lại tài liệu trong bộ sưu tập bios trong đó trường
43 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" }
44 [hoặc là{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
45]{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
0{ "_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, hãy xem
Truy vấn cho phạm vi
Kết hợp các toán tử so sánh để xác định phạm vi cho một trường. Hoạt động sau đây trả về từ các tài liệu thu thập bios trong đó
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
40 nằm trong khoảng từ { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
47 đến { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
48 [độc quyền]{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
1Để biết danh sách các toán tử truy vấn, hãy xem
Truy vấn cho nhiều điều kiện
Hoạt động sau đây 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" }
40 là { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
41 và trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
52 không tồn tại{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
2Để biết danh sách các toán tử truy vấn, hãy xem
Truy vấn tài liệu nhúng
Các ví dụ sau 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" }
29 trong bộ sưu tập biosTruy vấn kết quả khớp chính xác trên tài liệu nhúng
Thao tác 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" }
29 chính xác là { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
55, bao gồm cả đơn đặt hàng{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
3Trường
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
29 phải khớp chính xác với tài liệu được nhúng. Truy vấn không khớp với các tài liệu có các trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
29 sau{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
4Các trường truy vấn của một tài liệu nhúng
Thao tác sau đây trả về các tài liệu trong bộ sưu tập bios trong đó tài liệu được nhúng
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
29 chứa trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
59 với giá trị { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
60 và trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
28 với giá trị { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
62. Truy vấn sử dụng để truy cập các trường trong tài liệu được nhúng{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
5Truy 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" }
29 chứa tài liệu được nhúng với trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
59 với giá trị { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
60 và trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
28 với giá trị { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
62. Chẳng hạn, truy vấn sẽ khớp với các tài liệu có trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
29 chứa một trong các giá trị sau{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
6Để biết thêm thông tin và ví dụ, hãy xem thêm Truy vấn trên các tài liệu nhúng/lồng nhau
Mảng truy vấn
Truy vấn một phần tử mảng
Các ví dụ sau 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" }
69 trong bộ sưu tập biosThao tác sau đây trả về các tài liệu trong bộ sưu tập bios trong đó trường mảng
69 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" }
71{ "_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" }
Thao tác sau đây trả về các tài liệu trong bộ sưu tập bios trong đó trường mảng
69 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" }
73 hoặc{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
74{ "_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" }
Thao tác sau đây sử dụng toán tử truy vấn để trả về tài liệu trong bộ sưu tập bios trong đó trường mảng
69 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" }
73 và{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
74{ "_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. Xem thêm
Hoạt động sau đây sử dụng toán tử để trả về tài liệu trong bộ sưu tập bios trong đó kích thước mảng của
69 là 4{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
0db.collection.find[ { qty: { $gt: 4 } } ]
Để biết thêm thông tin và ví dụ về truy vấn một mảng, hãy xem
Truy vấn một mảng
Truy vấn một mảng tài liệu nhúng
Để biết danh sách các toán tử truy vấn mảng cụ thể, hãy xem
Truy vấn một mảng tài liệu
Các ví dụ sau 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" }
83 trong bộ sưu tập biosThao tác sau đây trả về các tài liệu trong bộ sưu tập bios trong đó mảng
83 chứa một phần tử có trường{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
85 bằng{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
86{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
1db.collection.find[ { qty: { $gt: 4 } } ]
Thao tác sau đây trả về các tài liệu trong bộ sưu tập bios trong đó mảng
83 chứa ít nhất một phần tử có cả trường{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
85 bằng{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
86 và trường{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
90 lớn hơn 1980{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
2db.collection.find[ { qty: { $gt: 4 } } ]
Sử dụng toán tử để chỉ định nhiều tiêu chí trên một phần tử mảng
Để biết thêm thông tin và ví dụ về truy vấn một mảng, hãy xem
Truy vấn một mảng
Truy vấn một mảng tài liệu nhúng
Để biết danh sách các toán tử truy vấn mảng cụ thể, hãy xem
dự đoán
Tham số chỉ định trường nào sẽ trả về. Tham số chứa thông số kỹ thuật bao gồm hoặc loại trừ, không phải cả hai, trừ khi loại trừ dành cho trường
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1Ghi chú
Trừ khi trường
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 bị loại trừ một cách rõ ràng trong tài liệu dự báo db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
3, trường db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 được trả vềChỉ định các trường để trả về
Thao tác sau tìm tất cả 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" }
29, trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
69 và trường db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1db.collection.find[ { qty: { $gt: 4 } } ]
3Ghi chú
Trừ khi trường
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 bị loại trừ một cách rõ ràng trong tài liệu dự báo db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
3, trường db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 được trả vềCác trường bị loại trừ rõ ràng
Thao tác sau truy vấn bộ sưu tập bios và trả về tất cả các trường ngoại trừ trường
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
59 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" }
29 và trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
40db.collection.find[ { qty: { $gt: 4 } } ]
4Loại trừ Hoàn toàn Trường db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
Ghi chú
Trừ khi trường
db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 bị loại trừ một cách rõ ràng trong tài liệu dự báo db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
3, trường db.bios.find[ { _id: { $in: [ 5, ObjectId["507c35dd8fada716c89d0013"] ] } }]
1 được trả vềThao tác sau tìm 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" }
29 và trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
69db.collection.find[ { qty: { $gt: 4 } } ]
5Trên mảng và tài liệu nhúng
Thao tác sau đây truy vấn 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" }
28 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" }
29 và hai phần tử đầu tiên trong mảng { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
69db.collection.find[ { qty: { $gt: 4 } } ]
6Bắt đầu từ MongoDB 4. 4, bạn cũng có thể chỉ định các trường được nhúng bằng cách sử dụng biểu mẫu lồng nhau, e. g
db.collection.find[ { qty: { $gt: 4 } } ]
7Sử dụng biểu thức tổng hợp
Bắt đầu từ MongoDB 4. 4, chiếu có thể chấp nhận
Với việc sử dụng các biểu thức và cú pháp tổng hợ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 đây 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" }
29 và { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }
83 cũng như bao gồm các trường mới db.collection.find[ { qty: { $gt: 4 } } ]
17, db.collection.find[ { qty: { $gt: 4 } } ]
18 và db.collection.find[ { qty: { $gt: 4 } } ]
19db.collection.find[ { qty: { $gt: 4 } } ]
8Để đặt trường
db.collection.find[ { qty: { $gt: 4 } } ]
20 thành giá trị db.collection.find[ { qty: { $gt: 4 } } ]
21 Thao tác trả về các tài liệu saudb.collection.find[ { qty: { $gt: 4 } } ]
9Mẹo
Xem thêm
Các trường dự án để trả về từ truy vấn
Lặp lại con trỏ được trả về
Phương thức trả về a cho kết quả
Trong , 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óa
db.collection.find[ { qty: { $gt: 4 } } ]
24, thì con trỏ sẽ tự động được lặp lại để truy cập tối đa 20 tài liệu đầu tiên phù hợp với truy vấn. Bạn có thể đặt biến db.collection.find[ { qty: { $gt: 4 } } ]
25 để thay đổi số lượng tài liệu được lặp tự độngĐể lặp lại kết quả theo cách thủ công, hãy gán con trỏ được trả về cho một biến có từ khóa
db.collection.find[ { qty: { $gt: 4 } } ]
24, như được minh họa trong các phần sauVới tên biến
Ví dụ sau sử dụng biến
db.collection.find[ { qty: { $gt: 4 } } ]
27 để lặp qua con trỏ và in các tài liệu phù hợp{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
0Với phương pháp db.collection.find[ { qty: { $gt: 4 } } ]
28
db.collection.find[ { qty: { $gt: 4 } } ]
Ví dụ sau sử dụng phương thức con trỏ để truy cập tài liệu
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
1Để in, bạn cũng có thể sử dụng phương pháp
db.collection.find[ { qty: { $gt: 4 } } ]
30 thay vì db.collection.find[ { qty: { $gt: 4 } } ]
31{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
2Với phương pháp db.collection.find[ { qty: { $gt: 4 } } ]
32
db.collection.find[ { qty: { $gt: 4 } } ]
Ví dụ sau sử dụng phương thức con trỏ để lặp lại con trỏ và truy cập tài liệu
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
3Sửa đổi hành vi con trỏ
và trình điều khiển cung cấp một số phương thức con trỏ gọi con trỏ được phương thức trả về để sửa đổi hành vi của nó.
Đặt hàng tài liệu trong tập kết quả
Phương thức sắp xếp thứ tự các tài liệu trong tập kết quả. Thao tác sau 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" }
29{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
4tương ứng với câu lệnh
db.collection.find[ { qty: { $gt: 4 } } ]
39 trong SQLGiới hạn số lượng tài liệu để trả lại
Phương pháp giới hạn số lượng tài liệu trong tập kết quả. Thao tác 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" }
27 tài liệu trong bộ sưu tập bios{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
5tương ứng với câu lệnh
db.collection.find[ { qty: { $gt: 4 } } ]
43 trong SQLĐặt điểm bắt đầu của tập kết quả
Phương thức kiểm soát điểm bắt đầu của tập kết quả. Thao tác 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" }
27 đầu tiên trong bộ sưu tập bios và trả về tất cả các tài liệu còn lại{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
6Chỉ định đối chiếu
Đối chiếu cho phép người dùng chỉ định các quy tắc dành riêng cho ngôn ngữ để so sánh chuỗi, chẳng hạn như quy tắc cho chữ cái và dấu trọng âm
Phương thức chỉ định cho hoạt động
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
7Kết hợp các phương thức con trỏ
Các câu lệnh sau chuỗi phương thức con trỏ và
{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
8Hai tuyên bố là tương đương; . e. thứ tự mà bạn xâu chuỗi và các phương thức không quan trọng. Cả hai câu lệnh đều trả về năm tài liệu đầu tiên, như được xác định theo thứ tự sắp xếp tăng dần trên 'tên'
Có sẵn { "_id" : , "name" : { "first" : , "last" : }, // embedded document "birth" : , "death" : , "contribs" : [ , .. ], // Array of Strings "awards" : [ { "award" : , year: , by: } // Array of embedded documents .. ]}
3 Phương thức con trỏ
{ "_id" : , "name" : { "first" : , "last" : }, // embedded document "birth" : , "death" : , "contribs" : [ , .. ], // Array of Strings "awards" : [ { "award" : , year: , by: } // Array of embedded documents .. ]}
Sử dụng Biến trong Tùy chọn db.collection.find[ { qty: { $gt: 4 } } ]
85
db.collection.find[ { qty: { $gt: 4 } } ]
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 kết quả được trả về như thế nào
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
{ "_id" : , "name" : { "first" : , "last" : }, // embedded document "birth" : , "death" : , "contribs" : [ , .. ], // Array of Strings "awards" : [ { "award" : , year: , by: } // Array of embedded documents .. ]}
4, hãy sử dụng tùy chọn db.collection.find[ { qty: { $gt: 4 } } ]
85. Để lọc kết quả bằng một biến, bạn phải truy cập vào biến đó trong toán tửTạo một bộ sưu tập
db.collection.find[ { qty: { $gt: 4 } } ]
89{ "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }
9Ví dụ sau định nghĩa một biến
db.collection.find[ { qty: { $gt: 4 } } ]
90 trong db.collection.find[ { qty: { $gt: 4 } } ]
85 và sử dụng biến này để truy xuất hương vị bánh sô cô la