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

Truy vấn aggregation MongoDB khớp giá trị trường cụ thể

Để khớp giá trị trường cụ thể trong aggregation, hãy sử dụng stage $match.

Tạo collection với trường CountryName:

> db.demo555.insertOne({"CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f21bf54b4472ed3e8e85f") }
> db.demo555.insertOne({"CountryName":"UK"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f21c254b4472ed3e8e860") }
> db.demo555.insertOne({"CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f21c354b4472ed3e8e861") }
> db.demo555.insertOne({"CountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f21c554b4472ed3e8e862") }
> db.demo555.insertOne({"CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f21c754b4472ed3e8e863") }

Hiển thị tất cả:

> db.demo555.find();

Kết quả (3 US, 1 UK, 1 AUS):

{ "_id" : ObjectId("5e8f21bf54b4472ed3e8e85f"), "CountryName" : "US" }
{ "_id" : ObjectId("5e8f21c254b4472ed3e8e860"), "CountryName" : "UK" }
{ "_id" : ObjectId("5e8f21c354b4472ed3e8e861"), "CountryName" : "US" }
{ "_id" : ObjectId("5e8f21c554b4472ed3e8e862"), "CountryName" : "AUS" }
{ "_id" : ObjectId("5e8f21c754b4472ed3e8e863"), "CountryName" : "US" }

Aggregate: $match lọc CountryName="US", $group đếm tổng:

> db.demo555.aggregate([
...     {$match: {CountryName: 'US'}},
...     {$group: {_id: null, Total: {$sum: 1}}}
... ])

Kết quả:

{ "_id" : null, "Total" : 3 }