如果不存在特定的键,我只能找到示例。
我的MongoDB实例中有特定的文档,这些文档的字段如下:
"actions" : [
{
"date" : "2015-03-09T15:28:03Z",
"reason" : "",
"begin_date" : "2015-03-09T15:28:03Z",
"end_date" : "2015-03-09T15:28:03Z",
"action_type" : "Block",
"performed_date" : "2015-03-09T15:28:03Z",
"active" : "on",
},
{
"date" : "2015-03-09T15:28:03Z",
"reason" : "",
"begin_date" : "2015-03-09T15:28:03Z",
"end_date" : "2015-03-09T15:28:03Z",
"action_type" : "Alert",
"performed_date" : "2015-03-09T15:28:03Z",
"active" : "on",
},
{
"date" : "2015-03-09T15:28:03Z",
"reason" : "None",
"begin_date" : "2015-03-09T15:28:03Z",
"end_date" : "2015-03-09T15:28:03Z",
"action_type" : "History",
"performed_date" : "2015-03-09T15:28:03Z",
"active" : "on",
}
],
现在,我试图生成一个查询,返回“action_type”:“history”不存在的所有记录。
我知道$exists操作符可以告诉我“action_type”键是否不存在,但是我找不到任何示例来告诉我在哪里可以指定哪些值不存在。
在我的脑海中,我想说的是这样的事情(但显然这不起作用):
db.collection.find({ "actions":{"$elemMatch":{"action_type": "History"}} : { '$exists': false} } )
希望这比我想象的要容易得多。
最佳答案
这应该有效:
db.collection.find({"actions.action_type": {"$ne": "History"}})
关于python - MongoDB:如何确定特定值是不存在的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29942516/