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

รับความยาวของค่าที่แตกต่างกันในอาร์เรย์ด้วย MongoDB


หากต้องการรับค่าที่แตกต่างกัน ให้ใช้ MongoDB DISTINCT สำหรับความยาว ให้ใช้ LENGTH() ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo36.insertOne({"Names":["Chris","Bob"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e17643bcfb11e5c34d898d4")
}
> db.demo36.insertOne({"Names":["Mike","Sam","Carol"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e176449cfb11e5c34d898d5")
}
> db.demo36.insertOne({"Names":["Chris","Bob","David"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e17645bcfb11e5c34d898d6")
}

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

> db.demo36.find();

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

{ "_id" : ObjectId("5e17643bcfb11e5c34d898d4"), "Names" : [ "Chris", "Bob" ] }
{ "_id" : ObjectId("5e176449cfb11e5c34d898d5"), "Names" : [ "Mike", "Sam", "Carol" ] }
{ "_id" : ObjectId("5e17645bcfb11e5c34d898d6"), "Names" : [ "Chris", "Bob", "David" ] }

ต่อไปนี้เป็นแบบสอบถามเพื่อให้ได้ความยาว -

> db.demo36.distinct('Names').length;

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

6