MongoDB提供了update()命令来更新集合的文档。仅仅更新要更新的文档,可以将条件添加到更新语句,以便更新选定的文档。
该命令中的基本参数是需要更新文档的条件,其次是需要执行的修改。
下面是如何完成此操作。
- 发出更新命令;
- 选择要用于确定需要更新哪个文档的条件。在我们的例子中,我们要更新员工ID为22的文档;
- 使用set命令修改字段名称;
- 选择要修改的字段名称,并相应地输入新值。
db.Employee.update(
{$set: { “EmployeeName” : “NewMartin”}});
命令执行成功,输出结果:
结果表明,一条记录符合条件,因此修改了相关字段值。
更新多个值
为了确保在MongoDB中同时更新多个/大量文档,需要使用multi选项,因为默认情况下,一次只能修改一个文档。
以下示例显示了如何更新许多文档。
在此示例中,我们将首先找到Employee ID为“ 1”的文档,并将Employee名称从“ Martin”更改为“ NewMartin”。
- 发出更新命令;
- 选择要用于确定需要更新哪个文档的条件。在我们的示例中,我们希望更新员工ID为“ 1”的文档;
- 选择要修改的字段名称,并相应地输入其新值。
db.Employee.update
(
{
Employeeid : 1
},
{
$set :
{
“EmployeeName” : “NewMartin”
“Employeeid” : 22
}
}
)
命令执行成功,运行“ find”命令来搜索雇员ID为22的文档,则会看到以下如下结果:
清楚的展示了,一条记录符合条件,因此修改了相关字段值。
译者:徐扬
源地址:
https://www.guru99.com/mongodb-update-document.html
我想咨询一下mongoc_collection_update_one怎么使用?我是在c++里用的,已经安装好了mongo-c-driver。主要是用来存储期货行情数据到mongodb数据库里。因为行情数据是实时更新存储的,例如1分钟数据mongoc_collection_insert_one存储到一个文档id下时,在这一分钟内因为行情在变动,所以也要同时对存储的数据进行修改,需要使用到mongoc_collection_update_one对这一分钟内的最高价、最低价、收盘价做出实时修改。但是mongoc_collection_update_one得参数不对,网上也很少这方面资料
2.选择要用于确定需要更新哪个文档的条件。在我们的例子中,我们要更新员工ID为22的文档;
然而下面的代码更新的是ID为1的 EmployeeName : NewMartin