我怎么能将mongoid查询转换为真正的mongo查询js语法

时间:2016-03-08 09:19:50

标签: mongoid

我在控制台上进行此查询,但是我不能简单地复制并粘贴它以在mongo shell中执行它。

是否有任何方法可以将mongoid DSL转换为真正的mongo查询语句。

由于

database=test collection=flights selector={"$query"=>{"from"=>{:$in=>["TPE"]}, "to"=>{:$in=>["HND", "NRT", "NRT|TYO"]}, "flight_date"=>{"$gte"=>2016-03-15 00:00:00 UTC, "$lt"=>2016-03-16 00:00:00 UTC}, "flight_no"=>{:$exists=>true, :$ne=>nil}, "updated_at"=>{"$gte"=>2016-03-02 09:16:13 UTC}}, "$orderby"=>{"departure_at"=>1}}

1 个答案:

答案 0 :(得分:1)

你可以这样做:

module Mongoid
    class Criteria
        def to_shell
            "db.#{collection.name}.find(#{selector.to_json})"
        end
    end
end

Flight.where({:from.in => ["TPE"], :to.in => ["HND", "NRT", "NRT|TYO"]}).to_shell