【问题标题】:How can I check if a field exists for a specific _id in mongodb collections?如何检查 mongodb 集合中特定 _id 的字段是否存在?
【发布时间】:2018-10-28 07:12:07
【问题描述】:

我想检查集合中的特定 _id 是否有一个名为“report”的字段。如何在 MongoDB 中执行此操作?

假设我的 _Id 是 Je4F8X。我只想知道我的异步任务是否已使用“报告”字段中的输出更新了数据库。

提前致谢:)

【问题讨论】:

  • 您可以使用给定的 _id 获取特定文档,然后检查 doc.report == 'yourvalue'。
  • "yourvalue" 是一个可变值。它是工具的输出。不是恒定的。假设在工具没有正常运行的情况下,报告字段可能不会更新。因此,如果 doc['report'] 不存在,应用程序最终会出现 Key Error Exception。
  • 如果你只是想检查字段报告是否被“工具”添加到文档中,那么你可以简单地使用mongodb exists查询

标签: database mongodb database-administration


【解决方案1】:

要检查字段 report 是否被“工具”添加到文档中(之前它不存在),那么您可以简单地使用 $exists 查询,

db.getCollection('yourCollection').find({_id:yourId, report:{$exists:true}})

如果字段已经存在并且想要检查它是否使用最新值更新,请使用$eq
如果可以将工具的输出存储在 updatedValue 中,则此方法可行。

 db.getCollection('yourCollection').find({_id:yourId, report:{$eq:updatedValue}})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多