2011-06-25 31 views
6

Tôi là một chút khó khăn ở đây (docs mongoid dường như không đưa ra một câu trả lời)Mongoid: Truy vấn cho các tài liệu cho các lĩnh vực nhất định, trong đó có một chuỗi cho trước

Question.where(:text.contains=>"perfect") 

Tôi muốn tìm câu trả lời mà trường văn bản chứa một từ nhất định, trong trường hợp này, là hoàn hảo.

Truy vấn chính xác ở đây là gì và làm cách nào để cải thiện hiệu suất của các truy vấn như vậy?

Trả lời

16

Bạn sẽ có thể sử dụng regex đơn giản cho rằng:

Question.where(:text => /perfect/) 

Alex

+0

cảm ơn bạn! nếu tôi thực hiện lập chỉ mục trên trường này, truy vấn này có nhanh không? –

+0

tốt, chạy một regex (nó là một công cụ javascript) sẽ luôn luôn cho chậm hơn không, nhưng tôi đã không chạy vào bất kỳ vấn đề cụ thể với loại truy vấn ngay cả trên bộ sưu tập tương đối lớn – Alex

Các vấn đề liên quan