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

สอบถามเอกสารที่ขนาดอาร์เรย์มากกว่า 1 ใน MongoDB หรือไม่


คุณสามารถใช้ความยาวเพื่อค้นหาเอกสารที่มีขนาดอาร์เรย์มากกว่า 1:

db.yourCollectionName.find({$where:"this.yourArrayDocumentName.length > 1"}).pretty();

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างคอลเลกชันพร้อมเอกสารบางส่วน แบบสอบถามมีดังต่อไปนี้เพื่อสร้างคอลเลกชันที่มีเอกสาร:

>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Larry","StudentTechnicalSubje
ct":["Java","C","C++"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d6c4c0c3d5054b766a76a")
}
>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSu
bject":["MongoDB"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d6c660c3d5054b766a76b")
}
>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSu
bject":["MySQL","SQL Server","PL/SQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d6c800c3d5054b766a76c")
}

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

> db.arrayLengthGreaterThanOne.find().pretty();

ต่อไปนี้เป็นผลลัพธ์:

{
   "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"),
   "StudentName" : "Larry",
   "StudentTechnicalSubject" : [
      "Java",
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c6d6c660c3d5054b766a76b"),
   "StudentName" : "Maxwell",
   "StudentTechnicalSubject" : [
      "MongoDB"
   ]
}
{
   "_id" : ObjectId("5c6d6c800c3d5054b766a76c"),
   "StudentName" : "Maxwell",
   "StudentTechnicalSubject" : [
      "MySQL",
      "SQL Server",
      "PL/SQL"
   ]
}

นี่คือแบบสอบถามสำหรับเอกสารที่มีขนาดอาร์เรย์มากกว่า 1 แบบสอบถามด้านล่างจะให้เอกสารทั้งหมดที่มีขนาดอาร์เรย์มากกว่า 1 :

> db.arrayLengthGreaterThanOne.find({$where:"this.StudentTechnicalSubject.length > 1"}).pretty();

ต่อไปนี้เป็นผลลัพธ์:

{
   "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"),
   "StudentName" : "Larry",
   "StudentTechnicalSubject" : [
      "Java",
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c6d6c800c3d5054b766a76c"),
   "StudentName" : "Maxwell",
   "StudentTechnicalSubject" : [
      "MySQL",
      "SQL Server",
      "PL/SQL"
   ]
}