Как использовать $ или, $ in и $ size вместе в запросе Ruby в Mongo? - PullRequest
0 голосов
/ 09 декабря 2010

Я пытаюсь выяснить, как написать следующий монго-запрос в сложном запросе: {$or:[ {field:{$in:[X]}} , {field:{$size:0}}]}

В настоящее время мой построитель запросов выглядит следующим образом: https://gist.github.com/735099

Все закомментированоэто то, что я пытался и не удалось.Самое близкое, что я смог получить, это query[:dma_codes] = {'$or' => [{'dma_codes' => {'$in' => [@bid_request[:geo][:dma]]}},{'dma_codes' => { '$size' => 0}}] }

Я все еще получаю следующую ошибку:

Read error: #<NoMethodError: undefined method `name' for #<Mongo::OperationFailure: invalid operator: $or>>
Mongo::OperationFailure - invalid operator: $or:

Есть ли что-то, чего мне не хватает в построении этого запроса?

1 Ответ

0 голосов
/ 09 декабря 2010

Я думаю, вы хотите это:

query['$or'] = [{'dma_codes' => {'$in' => [@bid_request[:geo][:dma]]}},{'dma_codes' => { '$size' => 0}}]

Но я не очень хорошо знаю рубин.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...