python - pymongo insert_many 改变现有文档
问题描述
tweets = pd.read_csv("FIFA.csv")
documents = tweets.to_dict(orient='records')
pprint(documents[0])
conn = pymongo.MongoClient("localhost")
coll = conn["test"]["tweets"]
coll.insert_many(documents, ordered=False)
pprint(documents[0])
奇怪的是在 Mongo 4.0 和 pymongo 3.7.2 上运行此代码修改了documents
.
在 insert_many 调用之后,文档中填充了一个“_id”字段。
解决方案
这不是“奇怪”,而是设计使然。http://api.mongodb.com/python/current/tutorial.html#inserting-a-document:
插入文档时,如果文档尚未包含“_id”键,则会自动添加特殊键“_id”。
推荐阅读
- c# - 使用 int、strings 和 chars 使方程式 int
- python - 如何在Python中对相似的序列保留顺序进行分组?
- python - 将 BeautifulSoup 和 json 组合成一个输出
- anylogic - 在 Anylogic 中使用过程建模库进行船舶航行行为
- ksqldb - KSQL查询线程数
- python - Pyspark/Databricks - org.apache.spark.SparkException:作业因阶段失败而中止:
- reactjs - 卡住:'Uncaught TypeError: this.state.users.map is not a function' in react (Axios)
- java - 如何更新 Java 中的反序列化对象?
- javascript - Apify 网络爬虫忽略 URL 片段
- python - 我使用生成器表达式有什么问题?