ฉันต้องการใช้การค้นหาแบบ mongoid เช่นแบบสอบถามที่มีคอลัมน์จำนวนเต็ม
ฉันรู้ว่าการใช้ mongodb สามารถใช้คำสั่งด้านล่างเพื่อสืบค้นได้
db.test.find({ $where: "/^123.*/.test(this.example)" })
เขียนด้วย mongoid ได้อย่างไร?
ฉันต้องการใช้การค้นหาแบบ mongoid เช่นแบบสอบถามที่มีคอลัมน์จำนวนเต็ม
ฉันรู้ว่าการใช้ mongodb สามารถใช้คำสั่งด้านล่างเพื่อสืบค้นได้
db.test.find({ $where: "/^123.*/.test(this.example)" })
เขียนด้วย mongoid ได้อย่างไร?
คุณรู้ว่าคุณสามารถใช้ตัวดำเนินการสืบค้น MongoDB ตามปกติทั้งหมดกับ Mongoid's where
ได้ ดังนั้น:
Test.where(:$where => '/^123/.test(this.example)')
หากคุณดูที่ Mongoid::Criteria
ที่ where
ให้มา คุณจะเห็นสิ่งนี้:
=> #<Mongoid::Criteria
selector: {"$where"=>"/^123/.test(this.example)"}
options: {}
class: Test
embedded: false>
และมีแบบสอบถาม MongoDB พื้นฐานใน selector
BTW นั้น .*
ไม่ได้ทำอะไรที่มีประโยชน์ใน regex ของคุณดังนั้นฉันจึงนำมันออกไป