![](/img/trans.png)
[英]Not able to combine data from multiple collections in mongodb using aggregation? (Pymongo)
[英]Key Error in accessing collections from MongoDB (PyMongo)
为什么这样做:
import pymongo
from selenium import webdriver
import smtplib
import sys
import json
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.properties
collection = db['capitalpacific']
fromDB = []
if collection.count() != 0:
for post in collection.find():
fromDB.append(post)
print(fromDB[0]['url'])
仅从集合(xxx.com)的文档1中正确打印url
但是当我这样做时,我得到一个keyError:
for i in range(0, 2):
print(fromDB[i]['url'}
KeyError:“ url”
存储在数据库中的文档如下所示:{'url':'xxx.com','location':'oregon'}
KeyError通常表示该键在字典集合中不存在。
例如 :
>>> mydoc1=dict(url='xxx.com', location='oregon')
>>> mydoc2=dict(wrongkey='yyy.com', location='oregon')
>>> mylist=[]
>>> mylist.append(mydoc1)
>>> mylist.append(mydoc2)
>>> print mylist[0]['url']
xxx.com
>>> for i in range(0, 2):
... print(mylist[i]['url'])
...
xxx.com
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
KeyError: 'url'
>>>
在这里,mydoc2没有名为“ url”的键,因此对于列表中的第二个元素引发了“ KeyError”。
因此,您确定前两个记录中存在“ URL”。 您可以打印“ fromDB”的内容并确保前两个记录具有“ url”键。
>>> print mylist
[{'url': 'xxx.com', 'location': 'oregon'}, {'wrongkey': 'yyy.com', 'location': 'oregon'}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.