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

Truy vấn MongoDB hiển thị tất cả giá trị trừ trường _id

Sử dụng $project trong aggregation pipeline. Toán tử $project cho phép chỉ định các trường cần bao gồm, loại bỏ trường _id, thêm trường mới hoặc đặt lại giá trị trường hiện có.

Tạo collection mẫu:

> db.demo226.insertOne({"Name":"Chris","Age":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3f9be803d395bdc2134738") }
> db.demo226.insertOne({"Name":"Bob","Age":20});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3f9bf003d395bdc2134739") }
> db.demo226.insertOne({"Name":"David","Age":22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3f9bf803d395bdc213473a") }

Hiển thị dữ liệu gốc (có _id):

> db.demo226.find();
{ "_id" : ObjectId("5e3f9be803d395bdc2134738"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e3f9bf003d395bdc2134739"), "Name" : "Bob", "Age" : 20 }
{ "_id" : ObjectId("5e3f9bf803d395bdc213473a"), "Name" : "David", "Age" : 22 }

Truy vấn aggregation loại bỏ _id và đổi tên trường:

> db.demo226.aggregate([
...   {$project: {
...     _id: false,
...     "StudentFirstName": "$Name",
...     "StudentAge": "$Age"
...   }}
...]);

Kết quả không có _id, tên trường đã được đổi:

{ "StudentFirstName" : "Chris", "StudentAge" : 21 }
{ "StudentFirstName" : "Bob", "StudentAge" : 20 }
{ "StudentFirstName" : "David", "StudentAge" : 22 }