如果不存在特定的键,我只能找到示例。
我的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/

10-12 21:08