python - 使用 pymongo 或 _id 在 mongodb 中设置自定义索引
问题描述
我需要为我的集合指定一个自定义索引,我用这个函数做了:
def insert_post_mongo (df):
if db.rss_crawler.estimated_document_count() == 0:
db.rss_crawler.create_index([("url_hashed", pymongo.HASHED)])
db.rss_crawler.insert_many(df.to_dict('records'))
我的索引来自我使用 hashlib 库转换的 url:
posts_df['url_hashed'] = [hashlib.md5(x.encode()).hexdigest() for x in posts_df['link']]
但是,不确定这是否是正确的方法。我最初的想法是从该 url 创建一个 Object_Id,但我无法弄清楚如何。Object_id 需要 12 字节的输入或 24 字符的十六进制字符串,我还没有找到方法。但是,仍然不确定这是否有必要,或者拥有二级索引就足够了。
有任何想法吗?非常感谢!
劳尔。
解决方案
你想多了。只需将 _id 设置为您选择的任何内容即可。它不需要是 ObjectId;如果未设置,这只是默认值。
推荐阅读
- sql - 返回下一个季节和年份
- angular - Firefox Highcharts 未显示,但在 Chrome 和 Edge 中一切正常
- html - How to put the icon and the text in the same line
- azure - 在 azure 数据工厂中使用映射数据流展平具有对应值的两个数组
- elasticsearch - 弹性搜索没有从 logstash 获取索引,它可以工作但没有新的提要
- c++ - 逐行读取文件的程序
- reactjs - 带有 esc-bluetooth-printer 插件的 react-native 找不到插件功能
- mitmproxy - 如何在“def request()”中直接返回响应
- javascript - 访问使用 Promise 创建的对象属性时出现问题
- javascript - 为什么我的 React Native 类组件返回错误:this.setState is not a function?