คุณสามารถใช้ความยาวเพื่อค้นหาเอกสารที่มีขนาดอาร์เรย์มากกว่า 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"
]
}