Projection trong MongoDB



Trong MongoDB, ý nghĩa của projection là chỉ chọn dữ liệu cần thiết thay vì chọn toàn bộ dữ liệu của một Document. Nếu một Document có 5 trường và bạn chỉ cần 3 trường, thì bạn chỉ nên chọn 3 trường từ Document đó.

Phương thức find() trong MongoDB

Phương thức find() trong MongoDB, đã được giải thích trong Truy vấn Document, chấp nhận tham số tùy ý thứ hai mà là danh sách các trường bạn muốn lấy. Trong MongoDB, khi bạn thực thi phương thức find(), thì nó hiển thị tất cả các trường của một Document. Để giới hạn điều này, bạn cần thiết lập danh sách các trường với giá trị 1 hoặc 0. Giá trị 1 được sử dụng để hiển thị trường, trong khi 0 được sử dụng để ẩn trường.

Cú pháp

Cú pháp cơ bản của phương thức find() với projection là như sau:

>db.COLLECTION_NAME.find({},{KEY:1})

Ví dụ

Bạn theo dõi Collection với tên mycol có dữ liệu sau:

{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}

Ví dụ sau sẽ hiển thị tiêu đề của Document trong khi truy vấn nó.

>db.mycol.find({},{"title":1,_id:0})
{"title":"MongoDB Overview"}
{"title":"NoSQL Overview"}
{"title":"Tutorials Point Overview"}
>

Bạn nên chú ý trường _id luôn luôn được hiển thị trong khi thực thi phương thức find(), nếu bạn không muốn trường này, thì bạn thiết lập nó là 0.

Các bài học lập trình MongoDB phổ biến khác tại VietJack: