ได้ คุณสามารถใช้ $indexOfCP เพื่อใช้ค่าที่บันทึกไว้เป็นรูปแบบได้ ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo88.insertOne(... {... "Name":"Chris",... "PassoutYear":"2020",... "websiteName":"chris.shop.com/ Carol-2020-"... }... );{ "acknowledged" :true, "insertedId" :ObjectId("5e2c14c471bf0181ecc422b1")}> db.demo88.insertOne(... {... "Name":"David",... "PassoutYear":"2010",... "websiteName":"david.bigshop.com/David-2010-"... }... );{ "acknowledged" :true, "insertedId" :ObjectId("5e2c14c571bf0181ecc422b2")}
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo88.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :ObjectId("5e2c14c471bf0181ecc422b1"), "Name" :"Chris", "PassoutYear" :"2020", "websiteName" :"chris.shop.com/Carol-2020-"}{ " _id" :ObjectId("5e2c14c571bf0181ecc422b2"), "Name" :"David", "PassoutYear" :"2010", "websiteName" :"david.bigshop.com/David-2010-" }
ต่อไปนี้เป็นแบบสอบถามเพื่อใช้ค่าฟิลด์เป็นรูปแบบใน $regex -
> db.demo88.aggregate([ { "$match":{ "$expr":{ "$ne":[ { "$indexOfCP":["$websiteName", "$Name"] }, - 1 ] } }} ])
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :ObjectId("5e2c14c571bf0181ecc422b2"), "Name" :"David", "PassoutYear" :"2010", "websiteName" :"david.bigshop.com/David-2010-" }ก่อน>