我想获取 mongoid 生成的 mongo 查询表达式该怎么做?
例如这是 mongoid 语法
History.where(report_type: params["report_type"]).order_by(ts:1).only(:ts).last
我想要一个方法,比如to_sql
,获取本机查询表达式,以便我可以在 Mongo 控制台上应用它。
MongoDB 实际上并没有像 SQL 这样的查询语言,因此您无法将所有内容整合到一个漂亮的紧凑部分中。但是,您可以获得碎片。
This:
History.where(report_type: params["report_type"]).order_by(ts:1).only(:ts)
建立一个Mongoid::Criteria
。这或多或少是底层查询的 Mongoid 版本。您可以通过调用提取查询selector
:
q = History.where(report_type: params["report_type"]).order_by(ts:1).only(:ts)
q.selector
# { 'report_type' => whatever_was_in_params }
通过查看排序options[:sort]
:
q.options[:sort]
# { 'ts' => 1 }
and the fields
are in options[:fields]
:
q.options[:fields]
# { 'ts' => 1 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)