这就是我的收藏中的典型文档的结构:
{u'_id': ObjectId('58645996fa36ac0b9f0e738d'),
u'alias': u'loco_ono',
u'artist': u'ONO’,
u'date_time': datetime.datetime(2016, 12, 29, 0, 32, 22, 723000),
u'followers': [{u'permalink': u'pschedelicsuperfuzz',
u'plan': u'Free'},
{u'permalink': u'd-miller',
u'plan': u'Free'}],
u'followers_count': 60,
u'last_modified': u'2016/10/17 18:53:09 +0000',
u'plan': u'Pro'}
如何迭代我的集合中的每个文档,并使用pymongo将每次迭代的以下信息写入CSV文件?
Artist | Follower | Count
loco_ono | pschedelicsuperfuzz | 1
loco_ono | d-miller | 1
到目前为止,我有这个:
import pymongo
from pymongo import MongoClient
mongo_client = MongoClient()
db = mongo_client.soundcloud_db
artist_followers = db.artist_followers
我不确定如何正确地遍历artist_followers集合,并且只检索'followers'数组中的'permalink'字段值,以便按照上述格式输出每个艺术家。
答案 0 :(得分:1)
我认为您希望迭代collection.find()
以从集合中检索文档,然后使用内部循环来迭代关注者。
我不理解你的计数字段,确切的格式化会有点摆弄,但这里有一个应该帮助你的片段:
for doc in artist_followers.find():
for follower in doc["followers"]:
print(doc["alias"], follower["permalink"])