Я использую mongo db для модели в моем приложении rails, и когда я выполняю
Model.where(:$or => [{:field1 => true}, {:field2 => true}])
производит отважный запрос
#<Plucky::Query $or: [{:field1=>true}, {:field2=>true}], transformer: #<Proc:0xa4b1c5c@/home/x/.rvm/gems/ruby-1.9.2-p290@app/gems/mongo_mapper-0.9.2/lib/mongo_mapper/plugins/querying.rb:79 (lambda)>>
выполняет операцию ИЛИ и выбирает правильные результаты, т. Е. Поле1 или поле2 имеют значение true, но
Model.where(:$and => [{:field1 => true}, {:field2 => true}])
производит отважный запрос
#<Plucky::Query $and: {"$in"=>[{:field1=>true}, {:field2=>true}]}, transformer: #<Proc:0xa435120@/home/x/.rvm/gems/ruby-1.9.2-p290@app/gems/mongo_mapper-0.9.2/lib/mongo_mapper/plugins/querying.rb:79 (lambda)>>
не выполняет операцию AND, вместо этого выдает ошибку
Mongo :: OperationFailure Exception: $ и выражение должны быть непустыми
массив
ОПИСАНИЕ
Rails версия: 3.1,
Монго версия: 2.0.0,
версия драгоценного камня mongo_mapper: 0.9.2