Запрос не выполняется в приложении rails с использованием mongomapper - PullRequest
1 голос
/ 02 февраля 2012

В моем приложении rails я пишу запрос mongo db в коллекции, где он должен выполнить операцию AND (Пример: в основном я хочу получить все данные пользователя из коллекции, где city = delhi и пол = male) .I Я застрял в этом, я имею в виду эту ссылку. http://mongomapper.com/documentation/plugins/querying.html. Даже если я перешел по ссылкам ниже Предложение MongoMapper OR на 2 столбца - Rails 3.1.rc4 . Но ничего не работает, я новичок в этом, я не знаю, правильный ли это подход или есть какие-то методы, пожалуйста, помогите мне в этом.

Я использую рельсы 3.1 и mongo_mapper ORM.

подробности запроса:

@c=Customer.where(:$and => [:gender => "Male",:city => "DELHI/NCR"])

Output: #<Plucky::Query $and: [{:gender=>"Male", :city=>"DELHI/NCR"}], transformer: #<Proc:0xe6429b4@/home/vijay/.rvm/gems/ruby-1.9.2-p290/gems/mongo_mapper-0.11.0/lib/mongo_mapper/plugins/querying.rb:79 (lambda)>>

Я пробовал это тоже ничего не работает

@c=Customer.where(:$and => [{:gender => "Male"},{:city => "DELHI/NCR"}])

Ответы [ 3 ]

1 голос
/ 02 февраля 2012

поскольку вы используете его, он будет только создавать запрос, вам нужно будет «выполнить» его, добавив .all

@customers = Customer.where(:gender => "Male", :city => "DELHI/NCR").all

Подробнее об этом здесь: http://mongomapper.com/documentation/plugins/querying.html#criteria

1 голос
/ 02 февраля 2012
@c = Customer.where(:gender => "Male",:city => "DELHI/NCR").all
0 голосов
/ 08 октября 2013

Обратите внимание, что вам не нужны ни where, ни all.

Вы можете просто написать:

@customers = Customer.all(:gender => "Male", :city => "DELHI/NCR")
...