如何在Mongo的Ruby查询中一起使用$或$ in和$ size?

时间:2010-12-09 19:56:59

标签: ruby mongodb

我想弄清楚如何在复杂查询中编写以下Mongo查询:{$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 :(得分:0)

我想你想要这个:

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

但我不太了解红宝石。