ในการค้นหาสตริงที่มีความยาวมากกว่าค่าเฉพาะใน MongoDB ให้ใช้ตัวดำเนินการ $where ไวยากรณ์มีดังนี้ −
db.yourCollectionName.find({$where:'this.yourStringFieldName.length >
yourIntegerValue'}).pretty(); เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างคอลเลกชันพร้อมกับเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -
> db.stringFieldLengthDemo.insertOne({"UserId":1,"UserName":"Adam Smith"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77bb4b2386c62d05142a78")
}
> db.stringFieldLengthDemo.insertOne({"UserId":2,"UserName":"Carol Taylor"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77bb562386c62d05142a79")
}
> db.stringFieldLengthDemo.insertOne({"UserId":3,"UserName":"James Brown"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77bb5b2386c62d05142a7a")
}
> db.stringFieldLengthDemo.insertOne({"UserId":4,"UserName":"John Smith"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77bb662386c62d05142a7b")
}
> db.stringFieldLengthDemo.insertOne({"UserId":5,"UserName":"David Miller"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77bb892386c62d05142a7c")
}
> db.stringFieldLengthDemo.insertOne({"UserId":6,"UserName":"John Williams"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77bbb02386c62d05142a7d")
}
> db.stringFieldLengthDemo.insertOne({"UserId":7,"UserName":"Chris Evans"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77bbd32386c62d05142a7e")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังต่อไปนี้ −
> db.stringFieldLengthDemo.find().pretty();
ต่อไปนี้เป็นผลลัพธ์ -
{
"_id" : ObjectId("5c77bb4b2386c62d05142a78"),
"UserId" : 1,
"UserName" : "Adam Smith"
}
{
"_id" : ObjectId("5c77bb562386c62d05142a79"),
"UserId" : 2,
"UserName" : "Carol Taylor"
}
{
"_id" : ObjectId("5c77bb5b2386c62d05142a7a"),
"UserId" : 3,
"UserName" : "James Brown"
}
{
"_id" : ObjectId("5c77bb662386c62d05142a7b"),
"UserId" : 4,
"UserName" : "John Smith"
}
{
"_id" : ObjectId("5c77bb892386c62d05142a7c"),
"UserId" : 5,
"UserName" : "David Miller"
}
{
"_id" : ObjectId("5c77bbb02386c62d05142a7d"),
"UserId" : 6,
"UserName" : "John Williams"
}
{
"_id" : ObjectId("5c77bbd32386c62d05142a7e"),
"UserId" : 7,
"UserName" : "Chris Evans"
} นี่คือแบบสอบถามเพื่อค้นหาสตริงที่มีความยาวมากกว่า 11 ใน MongoDB -
> db.stringFieldLengthDemo.find({$where:'this.UserName.length >11'}).pretty(); ต่อไปนี้เป็นผลลัพธ์ -
{
"_id" : ObjectId("5c77bb562386c62d05142a79"),
"UserId" : 2,
"UserName" : "Carol Taylor"
}
{
"_id" : ObjectId("5c77bb892386c62d05142a7c"),
"UserId" : 5,
"UserName" : "David Miller"
}
{
"_id" : ObjectId("5c77bbb02386c62d05142a7d"),
"UserId" : 6,
"UserName" : "John Williams"
}