หากต้องการสอบถาม MongoDB ด้วยเกณฑ์ความยาว คุณสามารถใช้ regex ต่อไปนี้เป็นรูปแบบไวยากรณ์
db.yourCollectionName.find({ ‘yourFieldName’: { $regex: /^.{yourLengthValue1,yourLengthValue2}$/ } }); ให้เราสร้างคอลเลกชันที่มีเอกสาร ต่อไปนี้เป็นแบบสอบถาม
> db.queryLengthDemo.insertOne({"StudentFullName":"John Smith"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9a01ae353decbc2fc927c0")
}
> db.queryLengthDemo.insertOne({"StudentFullName":"John Doe"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9a01b4353decbc2fc927c1")
}
> db.queryLengthDemo.insertOne({"StudentFullName":"David Miller"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9a01c2353decbc2fc927c2")
}
> db.queryLengthDemo.insertOne({"StudentFullName":"Robert Taylor"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9a01e2353decbc2fc927c3")
}
> db.queryLengthDemo.insertOne({"StudentFullName":"Chris Williams"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9a01f1353decbc2fc927c4")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()
> db.queryLengthDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{
"_id" : ObjectId("5c9a01ae353decbc2fc927c0"),
"StudentFullName" : "John Smith"
}
{
"_id" : ObjectId("5c9a01b4353decbc2fc927c1"),
"StudentFullName" : "John Doe"
}
{
"_id" : ObjectId("5c9a01c2353decbc2fc927c2"),
"StudentFullName" : "David Miller"
}
{
"_id" : ObjectId("5c9a01e2353decbc2fc927c3"),
"StudentFullName" : "Robert Taylor"
}
{
"_id" : ObjectId("5c9a01f1353decbc2fc927c4"),
"StudentFullName" : "Chris Williams"
} ต่อไปนี้เป็นแบบสอบถามใน MongoDB พร้อมเกณฑ์ความยาว
> db.queryLengthDemo.find({ StudentFullName: { $regex: /^.{9,12}$/ } }).pretty(); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{
"_id" : ObjectId("5c9a01ae353decbc2fc927c0"),
"StudentFullName" : "John Smith"
}
{
"_id" : ObjectId("5c9a01c2353decbc2fc927c2"),
"StudentFullName" : "David Miller"
}