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