我使用scarpy
抓取数据并使用MongoDB将其成功保存到托管mLab
的云中。
我想再次抓取数据并更新我的集合recently
,所以我尝试删除该集合然后插入。
这是我的代码pipelines.py:
from pymongo import MongoClient
from scrapy.conf import settings
class MongoDBPipeline(object):
def __init__(self):
connection = MongoClient(
settings['MONGODB_SERVER'],
settings['MONGODB_PORT'])
db = connection[settings['MONGODB_DB']]
# here is my collection name recently setting
self.collection = db[settings['MONGODB_COLLECTION']]
def process_item(self, item, spider):
# try to drop my collection recently
self.collection.drop()
self.collection.insert(dict(item))
return item
但是当我运行我的蜘蛛时,我看到我的集合recently
计数是10(它应该是5我想要的)
我正在寻找一些如何删除集合的代码。 这只是说db。[集合名称] .drop()
但是,当我在self.collection.drop()
self.collection.insert(dict(item))
时,我的情况就无效了
任何人都可以给我一些建议我的代码有什么问题吗?
那将不胜感激。提前谢谢。
答案 0 :(得分:14)