mongodb - 如何优化 pymongo 中的更新查询以进行抓取项目
问题描述
如何在 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
解决方案
url
在字段上创建索引
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)
注意-如果您有大量现有数据,请在后台创建索引
推荐阅读
- ios - 在 UICollectionView 中查找每行实际显示的项目数
- javascript - 根据过滤的数据更改 URL,REACT
- angular - 提示输入密码并在 Angular 8 应用程序的特定页面上进行验证
- flutter - Onchange providerlistener 函数单独返回加载状态
- java - ModelMapper 和映射优先级
- deep-linking - 带有“https”方案的 iOS 通用链接未打开应用程序
- perl - 在 Perl 的 push 中使用条件运算符
- memory - 块 vs 页 vs 帧 vs 扇区
- python-3.x - 气流 2.1.0 中的 DAG 导入错误 (ModuleNotFound)
- google-chrome-extension - 承诺的 chrome api 被破坏了吗?