Pymongo 不像 JSON 那样解析
Pymongo not parsing like JSON
我有一个 JSON 文档,如下所示:
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'
时,它要么找到 None
,要么返回一个游标,或者一个对象 ID:
mong.find_one({'ALPHA':'A'})
>>>None
mong.find_one({},{'A':1})
>>>{u'_id': ObjectId('55f2eeb7c8b582120834de8f')}
有人可以帮忙吗?
尝试在查询中使用 $exists
函数。
mongo.find_one({'ALPHA.A':{ '$exists': True }})
这将查看 'A' 键是否存在于 'ALPHA' 键中。
您或许可以找到更多帮助 here
我有一个 JSON 文档,如下所示:
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'
时,它要么找到 None
,要么返回一个游标,或者一个对象 ID:
mong.find_one({'ALPHA':'A'})
>>>None
mong.find_one({},{'A':1})
>>>{u'_id': ObjectId('55f2eeb7c8b582120834de8f')}
有人可以帮忙吗?
尝试在查询中使用 $exists
函数。
mongo.find_one({'ALPHA.A':{ '$exists': True }})
这将查看 'A' 键是否存在于 'ALPHA' 键中。 您或许可以找到更多帮助 here