Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Giới hạn trường trả về trong MongoDB (Projection)

Chỉ chọn trường cần thiết với projection

Tham số thứ 2 của find() xác định trường nào được trả về (1) hoặc ẩn đi (0). Giảm băng thông và tăng hiệu năng.

Dữ liệu mẫu

> db.demo330.insertOne({"Id": 101, "Name": "Chris", "Age": 21});
> db.demo330.insertOne({"Id": 102, "Name": "Sam", "Age": 24});
> db.demo330.insertOne({"Id": 103, "Name": "David", "Age": 28});
> db.demo330.insertOne({"Id": 104, "Name": "Bob", "Age": 23});

Chỉ lấy trường Name

> db.demo330.find({}, { Name: 1 });

Kết quả

{ "_id": ObjectId("..."), "Name": "Chris" }
{ "_id": ObjectId("..."), "Name": "Sam" }
{ "_id": ObjectId("..."), "Name": "David" }
{ "_id": ObjectId("..."), "Name": "Bob" }

Quy tắc:

  • _id luôn được trả về trừ khi khai báo { _id: 0 }
  • Không thể mix 0 và 1 (trừ _id)
  • Với mảng: { "details.Name": 1 } trả về toàn bộ mảng nhưng chỉ có trường Name