简体   繁体   English

pymongo insert_many对现有文档进行突变

[英]pymongo insert_many mutates existing documents

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])

Strangely running this code on Mongo 4.0 and pymongo 3.7.2 modifies documents . 在Mongo 4.0和pymongo 3.7.2上奇怪地运行此代码会修改documents

After insert_many call there's a '_id' field which is populated in documents. 在insert_many调用之后,在文档中填充了一个“ _id”字段。

It's not "strangely", it's by design. 这不是“奇怪的”,而是设计使然。 http://api.mongodb.com/python/current/tutorial.html#inserting-a-document : http://api.mongodb.com/python/current/tutorial.html#inserting-a-document

When a document is inserted a special key, "_id", is automatically added if the document doesn't already contain an "_id" key. 插入文档时,如果文档中尚未包含“ _id”键,则会自动添加特殊键“ _id”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM