我想弄清楚如何在复杂查询中编写以下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:
我是否缺少构建此查询的内容?
答案 0 :(得分:0)
我想你想要这个:
query['$or'] = [{'dma_codes' => {'$in' => [@bid_request[:geo][:dma]]}},{'dma_codes' => { '$size' => 0}}]
但我不太了解红宝石。