0

我将我的 Python 类保存到 JSON 并将它们写入 MongoDB。我正在使用此处介绍的 JSON 编码器。这导致了一个稍微复杂的 JSON 结构,它不遵循所有 MongoDB 教程中的简单“字符串”键/值。以下是写入 JSON 的类的摘录:

{
    "_id" : ObjectId("51f2397c86a49a5e6dec4633"),
    "__module__" : "experiment.experimentmanager",
    "experiments" : {
        "FOO" : [
            {
                "__module__" : "experiment.experiment",
                "enable_routing_table_trace" : false,
                "__class__" : "Experiment",
                "scenario_name" : "foobar",
                "enable_network_visualize" : false
            },    
}

我想知道如何检查例如在使用 MongoDB 查找的实验中是否存在键“FOO”?提前致谢!

4

2 回答 2

2

要检查字段是否存在,请使用$existsoperator

要访问复杂的结构,请使用点符号。例如:

db.inventory.find( { "experiments.FOO": { $exists: true} } )
于 2013-07-26T12:30:06.287 回答
0

此查询应该有效:

db.collection.find({
    "experiments.FOO": {
        $exists:true
    }
});
于 2013-07-26T12:31:38.123 回答