【发布时间】:2012-05-07 07:50:02
【问题描述】:
谁能告诉我为什么这个查询会返回这条记录?
查询:
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”的属性
【问题讨论】:
-
你用的是哪个版本的mongodb?显然使用 $exists: 1 (而不是 $exists: true 仅从 v1.9 开始支持。jira.mongodb.org/browse/SERVER-2322
-
太棒了,把这个作为答案,这样我就可以接受了。我们的服务器使用的是 1.8,而我的工作站使用的是 2.0。
标签: mongodb mongodb-query