使用未知密钥检查MongoDB文档(文档中没有)

时间:2017-12-06 09:54:39

标签: mongodb key

我想找到一个MongoDB文档中没有的密钥。 请找到以下文件。

    {
"_id" : ObjectId("523b6e61fb408eea0eec2648"),
"userid" : "abby",
"score" : 82
}

我要求我需要使用任何文档中没有的密钥来查询Mongo DB。说密钥=名字。 我的db集合大小是10 GB。 现在,我想检查key = name是否存在的集合?

db.getCollection('score').find({"name":{$exists:true}})

上述查询花了10多秒的时间来查找文档中是否存在关键名称的天气。 我的问题是,如果指定的密钥不在该文档中,那么有没有办法立即获得响应。

  

我的问题不同,因为当我检查提供的链接时,我   知道他们正在检查文档中的现有密钥。   但在我的情况下,检查任何文件中没有的密钥。

1 个答案:

答案 0 :(得分:0)

我只想在该密钥上创建一个索引:

db.score.createIndex({"name": 1})

这通常会加快查询速度。

编辑1:

我最初的假设是错误的:存在查询不会被索引加速。有关此主题的更多信息,请参阅:Improve querying fields exist in MongoDB