2012-05-04 1 views
1

Может ли кто-нибудь сказать мне, почему этот запрос вернет эту запись?Mongo query дает неожиданные результаты

запрос:

db.sales.findOne({"qualified": true, created_at: {$gte:1334534400}, campaign: {$exists:1}}) 

запись:

{ 
     "_id" : ObjectId("4f8b6ef8da45bb3e600001fe"), 
     "grand_total" : 9.99, 
     "order_id" : "T003974723", 
     "items" : [ 
       { 
         "price" : 9.99, 
         "id" : "23958754", 
         "name" : "UO Daisy Sunglasses", 
         "qty" : 1 
       } 
     ], 
     "created_at" : 1334537675, 
     "visitor_id" : "1332652531389", 
     "unique_session_id" : "i-0f7e196e-110800", 
     "session_id" : "i-0f7e196e-110800", 
     "qualified" : true, 
     "needler_id" : 357, 
     "ip_address" : "76.103.214.29", 
     "in_session" : true 
} 

Я думал, что я просил Монго, чтобы вернуть мне запись, которая была 'кампания' была собственностью. Однако, как вы можете видеть, эта запись не имеет свойства под названием «campaign»

+1

Какая версия MongoDB вы используете Очевидно, используя ** $ существует: 1 ** (вместо ** $ существует: true ** поддерживается только с v1.9 на. https://jira.mongodb.org/browse/SERVER-2322 – McGarnagle

+0

awesome, поставьте это как ответ, чтобы я мог его принять наши серверы использовали 1.8, а моя рабочая станция 2.0. –

ответ

1

Какую версию mongodb вы используете? По-видимому, используя $ существует: 1 (вместо $ существует: правда поддерживается только v1.9 на:

https://jira.mongodb.org/browse/SERVER-2322

+0

еще раз спасибо! –

+0

@AlW no prob! Рад, что я мог бы помочь. – McGarnagle