Python 如何使用pymongo使用单个文档更新mongodb集合?

Python 如何使用pymongo使用单个文档更新mongodb集合?,python,mongodb,pymongo,pymongo-3.x,Python,Mongodb,Pymongo,Pymongo 3.x,如果使用以下方法创建包含单个文档的集合: db.time_data.insert({"Last_updated":"Jan 6 22:19:48 IST","Next_scheduled":"Jan 6 23:19:48 IST"}) 如何更新上次更新的和下次更新的计划字段? 我希望在不使用任何update命令选择器的情况下执行此操作。这里的选择器是自动生成的id。不确定您是如何使用以下方法创建文档的: db.time_data.insert({"Last_updated":"Jan 6 22

如果使用以下方法创建包含单个文档的集合:

db.time_data.insert({"Last_updated":"Jan 6 22:19:48 IST","Next_scheduled":"Jan 6 23:19:48 IST"})
如何更新
上次更新的
下次更新的计划字段

我希望在不使用任何update命令选择器的情况下执行此操作。这里的选择器是自动生成的id。

不确定您是如何使用以下方法创建文档的:

db.time_data.insert({"Last_updated":"Jan 6 22:19:48 IST"},{"Next_scheduled":"Jan 6 23:19:48 IST"})
原因该操作将导致创建如下文档:

/* 1 */
{
    "_id" : ObjectId("5e1374692a0e7dc716ae47fa"),
    "Last_updated" : "Jan 6 22:19:48 IST"
}
当第二个对象
{“Next_scheduled”:“Jan 6 23:19:48 IST”}
被忽略时,这是很正常的,为了创建一个包含两个字段的文档,您的查询应该如下所示:

db.time_data.insert({"Last_updated":"Jan 6 22:19:48 IST","Next_scheduled":"Jan 6 23:19:48 IST"})
更新:

由于您的集合只有一个文档,要更新它,您实际上不需要任何筛选器,只需执行以下操作:

db.time_data.update({}, {"Last_updated":"Jan 7 22:19:48 IST","Next_scheduled":"Jan 7 23:19:48 IST"})
(或)

(或)

因此,您可以使用上述任何一种方法,甚至可以使用
。updateMany()
根据需要,检查他们的响应—有些返回写入结果,有些返回更新的文档(如果您将选项设置为返回新文档)。这些查询是针对mongoDB shell的,请在pymongo Ref链接中搜索update,以将这些查询转换为与python一起使用(最基本的变化是语法上的变化,比如从
updateOne
updateOne
updateMany
updateMany
,也要检查传递给它们的选项,因为它们可能会因mongoDB shell和
pymongo
/
mongoDB驱动程序
/
mongoose
等驱动程序的不同而有所不同)

MongoDB参考号:


pymongo Ref:

不确定您是如何使用以下方法创建文档的:

db.time_data.insert({"Last_updated":"Jan 6 22:19:48 IST"},{"Next_scheduled":"Jan 6 23:19:48 IST"})
原因该操作将导致创建如下文档:

/* 1 */
{
    "_id" : ObjectId("5e1374692a0e7dc716ae47fa"),
    "Last_updated" : "Jan 6 22:19:48 IST"
}
当第二个对象
{“Next_scheduled”:“Jan 6 23:19:48 IST”}
被忽略时,这是很正常的,为了创建一个包含两个字段的文档,您的查询应该如下所示:

db.time_data.insert({"Last_updated":"Jan 6 22:19:48 IST","Next_scheduled":"Jan 6 23:19:48 IST"})
更新:

由于您的集合只有一个文档,要更新它,您实际上不需要任何筛选器,只需执行以下操作:

db.time_data.update({}, {"Last_updated":"Jan 7 22:19:48 IST","Next_scheduled":"Jan 7 23:19:48 IST"})
(或)

(或)

因此,您可以使用上述任何一种方法,甚至可以使用
。updateMany()
根据需要,检查他们的响应—有些返回写入结果,有些返回更新的文档(如果您将选项设置为返回新文档)。这些查询是针对mongoDB shell的,请在pymongo Ref链接中搜索update,以将这些查询转换为与python一起使用(最基本的变化是语法上的变化,比如从
updateOne
updateOne
updateMany
updateMany
,也要检查传递给它们的选项,因为它们可能会因mongoDB shell和
pymongo
/
mongoDB驱动程序
/
mongoose
等驱动程序的不同而有所不同)

MongoDB参考号:


pymongo Ref:

这里的选择器将是自动生成的id-->您的意思是
\u id
?为什么要在没有任何用于更新命令的选择器的情况下进行更新?使用选择器有什么问题吗?我不需要任何选择器,因为我处理的是单个文档。这里的选择器将是自动生成的id->你的意思是
\u id
?为什么要在没有任何用于更新命令的选择器的情况下更新?使用选择器有什么问题吗?我不需要任何选择器,因为我处理的是单个文档。正如你在回答中提到的,在我的问题中插入命令的语法有错误。现在我已经更新了问题。正如您在回答中提到的,我的问题中的insert命令的语法有错误。现在我已经更新了问题。