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

แบบสอบถามการรวมกับ $match ทำงานใน MongoDB หรือไม่


ใช่ มันใช้งานได้ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo358.insertOne({"ClientId":101,"ClientName":"Chris","ClientAge":34});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5692c0f8647eb59e5620cb")
}
> db.demo358.insertOne({"ClientId":102,"ClientName":"David","ClientAge":32});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5692caf8647eb59e5620cc")
}
> db.demo358.insertOne({"ClientId":103,"ClientName":"David","ClientAge":35});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5692d2f8647eb59e5620cd")
}
> db.demo358.insertOne({"ClientId":104,"ClientName":"Bob","ClientAge":31});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5692ddf8647eb59e5620ce")
}
> db.demo358.insertOne({"ClientId":105,"ClientName":"Chris","ClientAge":36});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5692e7f8647eb59e5620cf")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo358.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e5692c0f8647eb59e5620cb"), "ClientId" : 101, "ClientName" : "Chris", "ClientAge" : 34 }
{ "_id" : ObjectId("5e5692caf8647eb59e5620cc"), "ClientId" : 102, "ClientName" : "David", "ClientAge" : 32 }
{ "_id" : ObjectId("5e5692d2f8647eb59e5620cd"), "ClientId" : 103, "ClientName" : "David", "ClientAge" : 35 }
{ "_id" : ObjectId("5e5692ddf8647eb59e5620ce"), "ClientId" : 104, "ClientName" : "Bob", "ClientAge" : 31 }
{ "_id" : ObjectId("5e5692e7f8647eb59e5620cf"), "ClientId" : 105, "ClientName" : "Chris", "ClientAge" : 36 }

นี่คือวิธีการทำงานกับ $match โดยรวม -

> db.demo358.aggregate(
...    [ { $match : { "ClientName" : "David" }},
...    { "$count": "ClientName" }
... ]
... );

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "ClientName" : 2 }