Python TypeError:insert()至少接受2个参数(给定1个)mongoDB

Python TypeError:insert()至少接受2个参数(给定1个)mongoDB,python,mongodb,Python,Mongodb,如果这是一个愚蠢的问题,很抱歉,但这是我第一次使用python和MongoDB。 无论如何,我遇到的问题是,我试图插入()一个要存储在数据库中的字符串-通过使用循环读取()数据,然后在单个字符串中给出insert()第1行和第2行(这可能是一种混乱的方法,但我不知道如何使read()一次读取2行。)-但在运行它时会出现以下错误:TypeError:insert()至少接受2个参数(给定1个) 代码的相关部分如下所示: post=collection.insert() 您在那里所做的是调用不带参

如果这是一个愚蠢的问题,很抱歉,但这是我第一次使用python和MongoDB。 无论如何,我遇到的问题是,我试图插入()一个要存储在数据库中的字符串-通过使用循环读取()数据,然后在单个字符串中给出insert()第1行和第2行(这可能是一种混乱的方法,但我不知道如何使read()一次读取2行。)-但在运行它时会出现以下错误:TypeError:insert()至少接受2个参数(给定1个)


代码的相关部分如下所示:

post=collection.insert()
您在那里所做的是调用不带参数的
insert
方法,而不是将该方法分配给
post
。由于至少将您试图插入的文档作为其参数,并且您没有向其传递任何内容,因此它只接收(隐式地)对象本身;也就是说,一个参数,而不是它期望的至少两个参数


删除括号应该是可行的。

代码的相关部分如下:

post=collection.insert()
您在那里所做的是调用不带参数的
insert
方法,而不是将该方法分配给
post
。由于至少将您试图插入的文档作为其参数,并且您没有向其传递任何内容,因此它只接收(隐式地)对象本身;也就是说,一个参数,而不是它期望的至少两个参数


删除括号应该会起作用。

正如前面所指出的,您正试图在insert方法上创建一个。在这种情况下,我看不到这一点,因为它永远不会被传递到任何地方,并且/或者需要引用它使用范围之外的内容。只需在您实际想要使用它的位置插入带参数的插件,即您正在使用参数调用
post

很高兴投票支持已经收到的正确答案。但我想在此指出,您似乎正在访问
local
数据库。这可能是通过检查新的mongo安装发现的,并在数据库列表中看到了这一点

MongoDB会在您引用数据库和集合并提交第一次插入时自动创建它们


我怎么强调都不过分。它仅供内部使用,只会导致您在此处发布更多由此产生的问题。

如前所述,您试图在insert方法上创建一个。在这种情况下,我看不到这一点,因为它永远不会被传递到任何地方,并且/或者需要引用它使用范围之外的内容。只需在您实际想要使用它的位置插入带参数的插件,即您正在使用参数调用
post

很高兴投票支持已经收到的正确答案。但我想在此指出,您似乎正在访问
local
数据库。这可能是通过检查新的mongo安装发现的,并在数据库列表中看到了这一点

MongoDB会在您引用数据库和集合并提交第一次插入时自动创建它们


我怎么强调都不过分。它仅供内部使用,只会导致您在此处发布更多由此产生的问题。

post=collection.insert()
您想在集合中插入什么?
post=collection.insert()
您想在集合中插入什么?显然,@user3196428试图将函数本身分配给
post
,因此它们实际上是指
post=collection.insert
,而不调用
insert
,回答正确。不过我做了一个编辑来澄清一下。还必须提到代码中显示的整个本地数据库。@Cairnarvon Edit表示您不能这样做。赋值不是引用方法的方式。只需执行`collection.insert({..})操作即可needed@lanzz哦,你似乎是对的。我已经相应地调整了我的答案。@NeilLunn我不明白为什么作业不能按预期进行。你能详细说明一下吗?显然,@user3196428试图将函数本身分配给
post
,因此它们实际上是指
post=collection.insert
,而不调用
insert
,回答得很好。不过我做了一个编辑来澄清一下。还必须提到代码中显示的整个本地数据库。@Cairnarvon Edit表示您不能这样做。赋值不是引用方法的方式。只需执行`collection.insert({..})操作即可needed@lanzz哦,你似乎是对的。我已经相应地调整了我的答案。@NeilLunn我不明白为什么作业不能按预期进行。你能详细说明一下吗?