如何优化 pymongo 中的更新查询以进行抓取项目
Posted
技术标签:
【中文标题】如何优化 pymongo 中的更新查询以进行抓取项目【英文标题】:how to optimize update query in pymongo for scraping project 【发布时间】:2021-06-29 08:47:29 【问题描述】:如何在 pymongo 中创建和刷新索引以加快更新查询。 如文章 [1] 部分所述,以下代码适用于少量条目
self.collection.update('url': item['url'], dict(item), upsert=True)
但是一旦达到几万,就很慢了。
[1]https://realpython.com/web-scraping-and-crawling-with-scrapy-and-mongodb/#mongodb
【问题讨论】:
【参考方案1】:在url
字段上创建索引
https://pymongo.readthedocs.io/en/stable/api/pymongo/collection.html#pymongo.collection.Collection.create_index
https://docs.mongodb.com/manual/indexes/
self.collection.create_index('url')
在您的情况下,url
将是唯一的,您可以创建唯一索引。
https://docs.mongodb.com/manual/core/index-unique/#unique-indexes
self.collection.create_index('url', unique = True)
注意-如果您有大量现有数据,请在后台创建索引
https://docs.mongodb.com/manual/core/index-creation/
【讨论】:
以上是关于如何优化 pymongo 中的更新查询以进行抓取项目的主要内容,如果未能解决你的问题,请参考以下文章
pymongo 中的模糊查询以及以某个值开始的模糊查询pymongo $regex /^