STACKJAVA

Projection trong MongoDB (SELECT field/column trong MongoDB)

This entry is part 13 of 24 in the series MongoDB

Projection trong MongoDB (SELECT field/column trong MongoDB)

Projection trong MongoDB

Mặc định, khi truy vấn trong MongoDB (find()) kết quả trả về sẽ gồm tất cả các field trong document. Để giới hạn số lượng dữ liệu mà MongoDB gửi tới ứng dụng, bạn có thể sử dụng projection để chỉ rõ những field nào được trả về, những field nào không được trả về khi truy vấn.

Cú pháp:

db.COLLECTION_NAME.find({condition},{field1:1,field2:0,...})

Trong đó:

Ví dụ trong collection player mình có 5 bản ghi như sau:

{'_id':'1', 'name':'neymar', 'country':'brazil', 'age':25},
{'_id':'2', 'name':'hazard', 'country':'belgium', 'age':25},
{'_id':'3', 'name':'mbappe', 'country':'france', 'age':18},
{'_id':'4', 'name':'modric', 'country':'croatia', 'age':30},
{'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':33},

Ví dụ 1: hiển thị name của tất cả các document thì câu lệnh sẽ là:

db.player.find({},{'name':1})

Câu SQL tương ứng:

SELECT _id, name FROM player

Kết quả:

(Mặc định trường _id sẽ được hiển thị, nếu không muốn hiển thị thì bạn dùng _id:0)

Ví dụ 2:

Hiển thị name và ẩn _id của các player có age = 25

db.player.find({'age':25},{'name':1, '_id':0})

Câu SQL tương ứng:

SELECT name FROM player WHERE age = 25

Kết quả:

Okay, Done!

References:

https://docs.mongodb.com/manual/reference/operator/projection/positional/

https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/

Series Navigation<< Update document, dữ liệu trong MongoDBSắp xếp trong MongoDB(orderBy, sorting() trong MongoDB) >>