![](/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.