gpt4 book ai didi

ruby-on-rails - 获取 mongoid 生成的原始 mongo 数据库查询表达式

转载 作者:行者123 更新时间:2023-12-04 01:37:17 26 4
gpt4 key购买 nike

我想获取 mongoid 生成的 mongo 查询表达式怎么办?

例如这是 mongoid 语法

History.where(report_type: params["report_type"]).order_by(ts:1).only(:ts).last

我想有方法,比如to_sql,来获取 native 查询表达式,以便我可以在 Mongo 控制台上应用它。

最佳答案

MongoDB 并没有像 SQL 这样的查询语言,因此您无法在一个紧凑的片段中包含所有内容。但是,您可以获得碎片。

这个:

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 }

字段options[:fields]中:

q.options[:fields]
# { 'ts' => 1 }

关于ruby-on-rails - 获取 mongoid 生成的原始 mongo 数据库查询表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27883178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com