【问题标题】:Mongo query giving unexpected resultsMongo 查询给出了意想不到的结果
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

  • @AlW 没有问题!很高兴我能帮上忙。
猜你喜欢
  • 2020-03-04
  • 1970-01-01
  • 2019-05-19
  • 2017-01-05
  • 2021-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多