В таблице заказов inc_id = 1, имеют статус canceled
, поэтому, когда я запускаю это в оболочке Монго, я не получаю никаких результатов
db.orders.find({
$or: [{status:'canceled'}, {status:'booked'}],
$or: [{status:'booked'}, {status: 'completed'}],
inc_id: 1
})
но когда я бегу, используя монгоид в рубине на рельсах
orders = Order.where({"$or": [{status:'canceled'}, {status:'booked'}]})
orders = orders.where({"$or": [{status:'booked'}, {status: 'completed'}]})
orders = orders.where(:inc_id => 1)
результат - inc_id 1 запись. Запрос выполняется таким образом
db.orders.find({
$or: [{status:'canceled'}, {status:'booked'},
{status: 'completed'}],
inc_id: 1
})
Как мне добиться прежнего поведения с монгоидом
Сведения о программном обеспечении:
- Mongoid: самоцвет 'mongoid', '~> 6.0.3'
- Mongo: версия оболочки MongoDB v3.6.5
- ОС: Mac OSX