Python Pymongo不像JSON那样解析
我有一个JSON文档,如下所示:Python Pymongo不像JSON那样解析,python,json,mongodb,python-2.7,pymongo,Python,Json,Mongodb,Python 2.7,Pymongo,我有一个JSON文档,如下所示: x = {'ALPHA':{'A':{ 'T1':{ 'L':{'a':1, 'b':2, 'c':3,}, 'S':{'a':1, 'b':2,
x = {'ALPHA':{'A':{ 'T1':{ 'L':{'a':1,
'b':2,
'c':3,},
'S':{'a':1,
'b':2,
'c':3,}},
'T2':{'L':{'a':1,
'b':2,
'c':3,},
'S':{'a':1,
'b':2,
'c':3,}},
'T3':{'L':{'a':1,
'b':2,
'c':3,},
'S':{'a':1,
'b':2,
'c':3,}}
}
}
}
在这里,我可以用一个标准的x['ALPHA']['A']
解析正常的'A'
。我原以为mongoDB等价物是mongo.find_one({'ALPHA':'A'})
,但我对此感到困惑。也许我创建的文档不正确
情况如下:
import pymongo
mong = pymongo.Connection()['ALPH']['AZ']
letter_dict = ('A','B','C','D')
for letter in letter_dict:
x = {'ALPHA':{letter :{ 'T1':{ 'L':{'a':1,
'b':2,
'c':3,},
'S':{'a':1,
'b':2,
'c':3,}},
'T2':{'L':{'a':1,
'b':2,
'c':3,},
'S':{'a':1,
'b':2,
'c':3,}},
'T3':{'L':{'a':1,
'b':2,
'c':3,},
'S':{'a':1,
'b':2,
'c':3,}}
}
}
}
mong.insert(x)
但当我尝试搜索'A'
时,它要么查找无
,要么返回光标或对象id:
mong.find_one({'ALPHA':'A'})
>>>None
mong.find_one({},{'A':1})
>>>{u'_id': ObjectId('55f2eeb7c8b582120834de8f')}
有人能帮忙吗?尝试在查询中使用
$exists
函数
mongo.find_one({'ALPHA.A':{ '$exists': True }})
这将查看“ALPHA”键中是否存在“A”键。
你也许能找到更多的帮助