0
当我用我的应用程序搜索文本时,它会返回一个像这样的哈希成功,但结果都是原始哈希。如何将对象映射到来自Mongoid文本搜索的原始数据?
{"queryDebugString"=>"xxx||||||", "language"=>"english", "results"=>[{"score"=>1.1, "obj"=>{"_id"=>BSON::ObjectId('52b308a85a686916c9410000'), "_type"=>"Note", "occurred_on"=>2013-12-19 00:00:00 UTC, "title"=>"xxx", "type"=>"other", "description"=>"yyy zzz"}}], "stats"=>{"nscanned"=>1, "nscannedObjects"=>0, "n"=>1, "nfound"=>1, "timeMicros"=>57}, "ok"=>1.0}
如何在结果上映射模型对象?目前我使用.new
方法,但#persisted?
是错误的。
def self.search(text)
mongo_session.command(text: collection_name.to_s, search: text.to_s, filter: all.selector)['results'].map { |row| new row['obj'] }
end
这就是我正在做的。但是这意味着它的“#persisted?”是错误的,这应该是真的。 –
您能否请您说明您正在做什么样的请求。 'YourObject.where()'? – jgburet