➤ Sử dụng menu thả xuống Chọn ngôn ngữ của bạn ở phía trên bên phải để đặt ngôn ngữ cho các ví dụ sau
Theo mặc định, truy vấn trong MongoDB trả về tất cả các trường trong tài liệu phù hợp. Để giới hạn lượng dữ liệu mà MongoDB gửi đến các ứng dụng, bạn có thể bao gồm một tài liệu để chỉ định hoặc hạn chế các trường trả về
Trả lại tất cả các trường trong tài liệu phù hợp
Ví dụ sau trả về tất cả các trường từ tất cả các tài liệu trong
Bộ sưu tậpinventory
trong đó status
bằng với "A"
Hoạt động tương ứng với câu lệnh SQL sau
SELECT * from inventory WHERE status = "A"
Trả lại các trường được chỉ định và chỉ trường _id
Một phép chiếu có thể bao gồm một số trường một cách rõ ràng bằng cách đặt thành
SELECT _id, item, status from inventory WHERE status = "A"
0 trong tài liệu phép chiếu. Thao tác sau đây trả về tất cả các tài liệu khớp với truy vấn. Trong tập hợp kết quả, chỉ có các trường SELECT _id, item, status from inventory WHERE status = "A"
1, status
và theo mặc định, các trường _id
trả về các tài liệu phù hợpHoạt động tương ứng với câu lệnh SQL sau
SELECT _id, item, status from inventory WHERE status = "A"
Loại bỏ trường _id
Bạn có thể loại bỏ trường _id
khỏi kết quả bằng cách đặt nó thành
SELECT _id, item, status from inventory WHERE status = "A"
6 trong phép chiếu, như trong ví dụ sauHoạt động tương ứng với câu lệnh SQL sau
SELECT item, status from inventory WHERE status = "A"
Ghi chú
Ngoại trừ trường _id
, bạn không thể kết hợp các tuyên bố bao gồm và loại trừ trong các tài liệu dự báo
Trả lại tất cả trừ các trường bị loại trừ
Thay vì liệt kê các trường sẽ trả về trong tài liệu phù hợp, bạn có thể sử dụng phép chiếu để loại trừ các trường cụ thể. Ví dụ sau trả về tất cả các trường ngoại trừ trường status
và trường
SELECT _id, item, status from inventory WHERE status = "A"
9 trong các tài liệu phù hợpGhi chú
Ngoại trừ trường _id
, bạn không thể kết hợp các tuyên bố bao gồm và loại trừ trong các tài liệu dự báo
Trả lại các trường cụ thể trong tài liệu nhúng
Bạn có thể trả về các trường cụ thể trong tài liệu được nhúng. Sử dụng để chỉ trường được nhúng và đặt thành
SELECT _id, item, status from inventory WHERE status = "A"
0 trong tài liệu chiếuVí dụ sau trả về
Trường
_id
[được trả về theo mặc định],Trường
1,SELECT _id, item, status from inventory WHERE status = "A"
Trường
status
,Trường
5 trong tài liệuSELECT item, status from inventory WHERE status = "A"
6SELECT item, status from inventory WHERE status = "A"
Trường
SELECT item, status from inventory WHERE status = "A"
5 vẫn được nhúng trong tài liệu SELECT item, status from inventory WHERE status = "A"
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.
SELECT item, status from inventory WHERE status = "A"
9Loại bỏ các trường cụ thể trong tài liệu nhúng
Bạn có thể chặn các trường cụ thể trong tài liệu được nhúng. Sử dụng để chỉ trường nhúng trong tài liệu chiếu và đặt thành
SELECT _id, item, status from inventory WHERE status = "A"
6Ví dụ sau chỉ định một phép chiếu để loại trừ trường
SELECT item, status from inventory WHERE status = "A"
5 bên trong tài liệu SELECT item, status from inventory WHERE status = "A"
6. Tất cả các trường khác được trả lại trong các tài liệu phù hợpBắ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. _id
3
Phép chiếu trên các tài liệu nhúng trong một mảng
Sử dụng để chiếu các trường cụ thể bên trong tài liệu được nhúng trong một mảng
Ví dụ sau chỉ định một phép chiếu để trả về
Trường
_id
[được trả về theo mặc định],Trường
1,SELECT _id, item, status from inventory WHERE status = "A"
Trường
status
,Trường
_id
7 trong tài liệu được nhúng trong mảng
9SELECT _id, item, status from inventory WHERE status = "A"
Các phần tử mảng cụ thể của dự án trong mảng được trả về
Cân nhắc bổ sung
Bắt đầu từ MongoDB 4. 4, MongoDB thực thi các hạn chế bổ sung liên quan đến phép chiếu. Xem để biết chi tiết