การค้นหาแบบมองโกดเหมือนกับจำนวนเต็ม

ฉันต้องการใช้การค้นหาแบบ mongoid เช่นแบบสอบถามที่มีคอลัมน์จำนวนเต็ม

ฉันรู้ว่าการใช้ mongodb สามารถใช้คำสั่งด้านล่างเพื่อสืบค้นได้

db.test.find({ $where: "/^123.*/.test(this.example)" })

เขียนด้วย mongoid ได้อย่างไร?


person Grant Chen    schedule 13.01.2014    source แหล่งที่มา


คำตอบ (1)


คุณรู้ว่าคุณสามารถใช้ตัวดำเนินการสืบค้น 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 ของคุณดังนั้นฉันจึงนำมันออกไป

person mu is too short    schedule 13.01.2014