2010-12-09 3 views
0

J'essaie de comprendre comment écrire la requête Mongo suivante dans une requête complexe: {$or:[ {field:{$in:[X]}} , {field:{$size:0}}]}

Actuellement, mon constructeur de requête ressemble à ceci: https://gist.github.com/735099

Tout en commentaire est ce que je l'ai essayé et n'a pas été couronnée de succès avec. Le plus proche que j'ai pu obtenir était ce query[:dma_codes] = {'$or' => [{'dma_codes' => {'$in' => [@bid_request[:geo][:dma]]}},{'dma_codes' => { '$size' => 0}}] }

je reçois toujours l'erreur suivante:

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

Y at-il quelque chose que je manque au sujet de la construction de cette requête?

Répondre

0

Je pense que vous voulez ceci:

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

Mais je ne sais pas très bien rubis.

Questions connexes