➤ 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 chiế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ậpSELECT _id, item, status from inventory WHERE status = "A"
9 trong đó SELECT _id, item, status from inventory WHERE status = "A"
0 bằng SELECT _id, item, status from inventory WHERE status = "A"
1Hoạ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 SELECT _id, item, status from inventory WHERE status = "A"
2
SELECT _id, item, status from inventory WHERE status = "A"
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
SELECT _id, item, status from inventory WHERE status = "A"
3 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 trường SELECT _id, item, status from inventory WHERE status = "A"
1, SELECT _id, item, status from inventory WHERE status = "A"
0 và theo mặc định là các trường SELECT _id, item, status from inventory WHERE status = "A"
2 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 SELECT _id, item, status from inventory WHERE status = "A"
2
SELECT _id, item, status from inventory WHERE status = "A"
Bạn có thể loại bỏ trường
SELECT _id, item, status from inventory WHERE status = "A"
2 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
SELECT _id, item, status from inventory WHERE status = "A"
2, bạn không thể kết hợp các câu lệnh bao gồm và loại trừ trong các tài liệu chiếuTrả 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 đây trả về tất cả các trường ngoại trừ trường
SELECT _id, item, status from inventory WHERE status = "A"
0 và 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
SELECT _id, item, status from inventory WHERE status = "A"
2, bạn không thể kết hợp các câu lệnh bao gồm và loại trừ trong các tài liệu chiếuTrả 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 ký hiệu dấu chấm để 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
2 [được trả về theo mặc định],SELECT _id, item, status from inventory WHERE status = "A"
Trường
1,SELECT _id, item, status from inventory WHERE status = "A"
Trường
0,SELECT _id, item, status from inventory WHERE status = "A"
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 ký hiệu dấu chấm để chỉ trường được 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.
SELECT _id, item, status from inventory WHERE status = "A"
23Phép chiếu trên các tài liệu nhúng trong một mảng
Sử dụng ký hiệu dấu chấm để 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
2 [được trả về theo mặc định],SELECT _id, item, status from inventory WHERE status = "A"
Trường
1,SELECT _id, item, status from inventory WHERE status = "A"
Trường
0,SELECT _id, item, status from inventory WHERE status = "A"
Trường
27 trong tài liệu được nhúng trong mảngSELECT _id, item, status from inventory WHERE status = "A"
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 Hạn chế chiếu để biết chi tiết