1

谁能告诉我为什么这个查询会返回这个记录?

询问:

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
}

我以为我是在要求 mongo 给我一个记录,其中包含“campaign”是一个属性。但是,如您所见,此记录没有名为“campaign”的属性

4

1 回答 1

1

你用的是哪个版本的mongodb?显然使用$exists: 1(而不是$exists: true仅支持从 v1.9 开始:

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

于 2012-05-06T23:50:02.523 回答