我将我的Python类保存到JSON并将它们写入MongoDB。我正在使用JSON编码器,它已经呈现here。这导致了一个稍微复杂的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
},
}
我想知道如何在使用MongoDBs找到的实验中检查是否存在关键“FOO”?提前谢谢!
答案 0 :(得分:2)
检查字段是否存在use$exists
operator。
要访问复杂结构,请使用点表示法。例如:
db.inventory.find( { "experiments.FOO": { $exists: true} } )
答案 1 :(得分:0)
此查询应该有效:
db.collection.find({
"experiments.FOO": {
$exists:true
}
});