匹配特定字段值的 MongoDB 查询(聚合框架)


若要匹配特定的字段值,请在 MongoDB 聚合中使用 $match。我们来创建一个包含文档的集合 -

> 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")
}

通过 find() 方法显示集合中的所有文档 -

> db.demo555.find();

这会产生以下输出:-

{ "_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" }

以下是匹配特定字段值的查询 -

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

这会产生以下输出 -

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

更新于: 14-May-2020

254 浏览量

开启你的 职业

通过完成课程获得认证

开始
广告