python - Pymongo 是否可以使用 insert_many 插入一个?

标签 python pymongo

这听起来像是一个愚蠢的问题,但我正在使用 pymongo 并编写了以下函数来插入文档,并且想知道 insert_many 方法是否也适用于一条记录插入,这样我就不需要另一个函数了我只是插入一条记录。

这是我的功能:

def insert_records(list_of_documents: list, collection):
    i = collection.insert_many(list_of_documents)
    print(len(i.inserted_ids), " documents inserted!")

当我插入一个时,它会抛出错误:

post1 = {"_id":0, "user_name":"Jack"}
insert_records(list(post1), stackoverflow)

TypeError:文档必须是 dict、bson.son.SON、bson.raw_bson.RawBSONDocument 的实例,或者继承自 collections.MutableMapping 的类型

我知道我可以使用 insert_one() 来达到此目的,我只是想知道是否可以使用 insert_many() 完成所有操作,因为原始的 insert() 方法已被弃用。谢谢!

最佳答案

由于您的 post1 是一个字典,当您使用 list(post1) 时,您有一个键列表:

>>> list(post1)
['_id', 'user_name']

使用:

>>> [post1]
[{'_id': 0, 'user_name': 'Jack'}]

所以:

insert_records([post1], stackoverflow)

关于python - Pymongo 是否可以使用 insert_many 插入一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71360852/

相关文章:

python - PyMongo json_util.dumps 覆盖 ObjectId 表示

python - 在 Python 中生成置换词列表的子集

python - 装袋分类器

python - "python setup.py install"命令未在 install_requires 列表中安装库

mongodb - 如何使用变量进行不区分大小写的查询?

python - 为什么 DuplicateKeyError : E11000 duplicate key error index: test. test.$notification_1 dup key: { : null }

python - 使用pymongo在mongodb中按时间范围查询

python - AWS DocumentDB 语法不同于 MongoDB 的 UpdateMany

通过理解将 Python 列表转换为字典

python - .在没有按我预期的方式运行之后