我正在使用mongodb
pymongo
client = MongoClient()
mongo = MongoClient('localhost', 27017)
mongo_db = mongo['test']
mongo_coll = mongo_db['test'] #Tweets database
我有一个光标并且循环遍历每条记录:
cursor = mongo_coll.find()
for record in cursor: #for all the tweets in the database
try:
msgurl = record["entities"]["urls"] #look for URLs in the tweets
except:
continue
try/except
的原因是因为如果["entities"]["urls"]
不存在,则会出错。
如何判断[“entity”] [“urls”]是否存在?
答案 0 :(得分:8)
记录是一个字典,其中键“实体”链接到另一个字典,所以只需检查“urls”是否在该字典中。
if "urls" in record["entities"]:
如果你只想继续,你也可以使用get。
msgurl = record["entities"].get("urls")
如果没有这样的密钥,这将导致msgurl等于None。
答案 1 :(得分:8)
我不熟悉pymongo,但为什么不更改查询以便它只返回包含'urls'的结果?类似的东西:
mongo_coll.find({"entities.urls": {$exists:1}})