【问题标题】:mongodb find not returning resultsmongodb发现没有返回结果
【发布时间】:2014-06-12 08:05:27
【问题描述】:

您好,我刚开始使用 mongo,正在尝试运行基本的 find() 命令。

我有一个包含如下记录的集合:

{
"event" : "cheat",
"message" : {
    "tableid" : 205,
    "time" : 1381853433038,
    "link" : "/dbcheat/table205/iID3731"
},
"_id" : ObjectId("525d68f999ddc6a019000004")
}

例如,我想查找所有具有 tableid 205 的条目。如果我运行此命令,我会返回一行。

db.example.find({
"message" : {
    "tableid" : 205,
    "time" : 1381853433038,
    "link" : "/dbcheat/table205/iID3731"
}
})

但是如果我只是尝试运行这个命令,我会得到零个结果。有谁知道可能是什么问题?

db.example.find({
    "message" : {
        "tableid" : 205
    }
})

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    您应该能够通过执行以下操作找到所需的文档:

    db.example.find({ "message.tableid": 205 })
    

    【讨论】:

    • 非常感谢,这就像一个魅力!猜猜我的语法是错误的。
    • 我相信问题出在你的嵌套方法上​​。正如您所注意到的,您可以简单地使用点来代替
    【解决方案2】:

    thtsigma 回复中的点符号允许您访问嵌入式文档并进行搜索。您尝试的第二种方法是为消息带回一个嵌入文档,该文档“仅”具有以下内容:“tableid”:205

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-25
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 2019-07-09
      • 1970-01-01
      • 2018-05-09
      相关资源
      最近更新 更多