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

แบบสอบถาม MongoDB เพื่อจัดกลุ่มเอกสารที่ซ้ำกัน


หากต้องการจัดกลุ่มเอกสารที่ซ้ำกัน ให้ใช้ MongoDB aggregate() ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo501.insertOne({"Name":"Chris"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8752f0987b6e0e9d18f566")
}
> db.demo501.insertOne({"Name":"Bob"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8752f4987b6e0e9d18f567")
}
> db.demo501.insertOne({"Name":"Chris"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8752f8987b6e0e9d18f568")
}
> db.demo501.insertOne({"Name":"John"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8752fb987b6e0e9d18f569")
}
> db.demo501.insertOne({"Name":"Chris"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8752fd987b6e0e9d18f56a")
}
> db.demo501.insertOne({"Name":"John"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e875301987b6e0e9d18f56b")
}
> db.demo501.insertOne({"Name":"David"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e875307987b6e0e9d18f56c")
}

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

> db.demo501.find();

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

{ "_id" : ObjectId("5e8752f0987b6e0e9d18f566"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8752f4987b6e0e9d18f567"), "Name" : "Bob" }
{ "_id" : ObjectId("5e8752f8987b6e0e9d18f568"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8752fb987b6e0e9d18f569"), "Name" : "John" }
{ "_id" : ObjectId("5e8752fd987b6e0e9d18f56a"), "Name" : "Chris" }
{ "_id" : ObjectId("5e875301987b6e0e9d18f56b"), "Name" : "John" }
{ "_id" : ObjectId("5e875307987b6e0e9d18f56c"), "Name" : "David" }

ต่อไปนี้เป็นแบบสอบถามเพื่อจัดกลุ่มเอกสารที่ซ้ำกันใน MongoDB -

> db.demo501.aggregate( [ { $group : { _id : "$Name" } } ] )

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

{ "_id" : "David" }
{ "_id" : "John" }
{ "_id" : "Bob" }
{ "_id" : "Chris" }