สำหรับการค้นหาข้อความแบบเต็มใน MongoDB ให้ใช้ $text $text ทำการค้นหาข้อความในเนื้อหาของฟิลด์ ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo654.createIndex({Name:"text"});
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.demo654.insertOne({"Name":"John Doe"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea04e924deddd72997713c8")
}
> db.demo654.insertOne({"Name":"Chris Brown"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea04e9d4deddd72997713c9")
}
> db.demo654.insertOne({"Name":"John Smith"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea04ea54deddd72997713ca")
}
> db.demo654.insertOne({"Name":"David Miller"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea04eb24deddd72997713cb")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo654.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5ea04e924deddd72997713c8"), "Name" : "John Doe" }
{ "_id" : ObjectId("5ea04e9d4deddd72997713c9"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5ea04ea54deddd72997713ca"), "Name" : "John Smith" }
{ "_id" : ObjectId("5ea04eb24deddd72997713cb"), "Name" : "David Miller" } ต่อไปนี้เป็นแบบสอบถามเพื่อทำการค้นหาข้อความแบบเต็มใน MongoDB -
> db.demo654.find({ $text: { $search: "John" } } ); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5ea04ea54deddd72997713ca"), "Name" : "John Smith" }
{ "_id" : ObjectId("5ea04e924deddd72997713c8"), "Name" : "John Doe" }