gpt4 book ai didi

python - mongodb keyerror 即使字段存在

转载 作者:可可西里 更新时间:2023-11-01 09:52:44 26 4
gpt4 key购买 nike

我有一个 mongodb 集合的 friend ,我运行代码

for doc in friends.find():
print doc

我得到:

{u'_id': ObjectId('519ccdb86383cf1444445a1c'), u'twitter_id': 609034617}
{u'_id': ObjectId('519ccdb86383cf1444445a1d'), u'twitter_id': 253090547}
{u'_id': ObjectId('519ccdb86383cf1444445a1e'), u'twitter_id': 146221326}
{u'_id': ObjectId('519ccdb86383cf1444445a1f'), u'twitter_id': 1267350151}
{u'_id': ObjectId('519ccdb86383cf1444445a20'), u'twitter_id': 8806112}
{u'_id': ObjectId('519ccdb86383cf1444445a21'), u'twitter_id': 82589355}

但如果我这样做:

for doc in friends.find():
print doc['twitter_id']

我得到错误:

Traceback (most recent call last):
File "C:\Users\schatterjee\workspace\scorefollowback.py\application.py", line 65, in <module>
print doc['twitter_id']
KeyError: 'twitter_id'

最佳答案

也许您的某些文档没有 Twitter ID。这是一个具有良好数据的示例 shell session :

>>> import pymongo
>>> conn = pymongo.MongoClient('localhost', 27017)
>>> users = conn['test']['users']
>>> users.remove()
>>> users.insert({'twitter_id': '11111111'})
>>> users.insert({'twitter_id': '22222222'})
>>> for user in users.find():
... print(user['twitter_id'])
...
11111111
22222222

您可能想尝试使用 $exists确保该字段像这样存在:Syntax: { field: { $exists: <boolean> } }

for friend in friends.find({ twitter_id: { $exists: true } }):
print(friend['twitter_id'])

关于python - mongodb keyerror 即使字段存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16694298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com