2015-01-11 1 views
2

mongoid 생성 방법을 mongo로 생성하려면 어떻게해야합니까?mongoid가 그것을 생성하는 원시 mongo db 쿼리 식 얻기

예컨대 이것은 내가 몽고 콘솔에 적용 할 수 있도록 기본 쿼리 식을 얻을 수있는 mongoid 구문

History.where(report_type: params["report_type"]).order_by(ts:1).only(:ts).last 
내가 방법을 갖고 싶어

같은 to_sql이다.

답변

3

MongoDB에는 SQL과 같은 쿼리 언어가 없으므로 멋진 작은 조각으로 모든 것을 얻을 수 없습니다. 그러나 조각을 얻을 수 있습니다.

이 :

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

Mongoid::Criteria 구축합니다. 기본 쿼리의 몽고이드 버전이 더 많거나 적습니다. 당신은 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]보고 : options[:fields]

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

fields 같습니다

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