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 đó:

  • {condition}: là điều kiện tìm kiếm, nếu bạn để {} thì nó sẽ tìm tất cả document.
  • field1:1: biểu thị field1 sẽ được hiển thị trong kết quả trả về. (Mặc định trường _id luôn trược trả về)
  • field2:0: biểu thị field2 sẽ không được hiển thị trong kết quả trả về.

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ả:

Projection trong MongoDB (SELECT field/column trong MongoDB)

(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ả:

Projection trong MongoDB (SELECT field/column trong MongoDB)

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) >>
stackjava.com