Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

เป็นไปได้ไหมที่จะใช้ค่าฟิลด์ MongoDB เป็นรูปแบบใน $regex?


ได้ คุณสามารถใช้ $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-" }