Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

MongoDB aggregation framework query เพื่อจับคู่ค่าของฟิลด์เฉพาะ


เพื่อจับคู่ค่าของฟิลด์เฉพาะ ให้ใช้ $match ใน MongoDB aggregation มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน

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