- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 从表中选择数据
- Node.js - MySQL Where 条件
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 联接
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新
- Node.js - MongoDB 限制结果
- Node.js - MongoDB 联接
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - MongoDB 更新
更新操作指的是修改 MongoDB 集合中文档的一个或多个字段的值。Node.js 的 mongodb 驱动程序定义了 updateOne() 和 updateMany() 方法。updateOne() 方法用于修改单个文档,而 updateMany() 方法用于更新多个文档。
updateOne() 方法的语法如下:
collection.updateOne(query, values);
query 参数用于查找要更新的目标文档。values 参数包含用于修改文档的键值对。updateMany() 方法遵循相同的语法,只是查询从集合中返回多个文档。
updateOne()
以下示例更改了 ProductID 为 3 的文档的价格。$set 操作符将新值赋给 price 字段。
const {MongoClient} = require('mongodb'); async function main(){ const uri = "mongodb://127.0.0.1:27017/"; const client = new MongoClient(uri); try { await client.connect(); await sortdocs(client, "mydb", "products"); } finally { // Close the connection to the MongoDB cluster await client.close(); } } main().catch(console.error); async function sortdocs(client, dbname, colname){ var qry = { ProductID: 3 }; var vals = { $set: { Name: "Router", price: 2750 } }; const result = await client.db(dbname).collection(colname).updateOne(qry, vals); console.log("Document updated"); }
要验证文档是否已更新,请使用 Mongosh shell 并输入以下命令:
> use mydb < switched to db mydb > db.products.find({"ProductID":3}) { _id: ObjectId("6580964f20f979d2e9a72ae9"), ProductID: 3, Name: 'Router', price: 2750 }
updateMany()
假设 products 集合包含以下名称以“er”结尾的文档。
以下 sortdocs() 函数将所有上述产品的价格增加 125 元。我们使用了 $inc 操作符。
示例
async function sortdocs(client, dbname, colname){ var qry = {Name: /er$/}; var vals = { $inc: { price: 125 } }; const result = await client.db(dbname).collection(colname).updateMany(qry, vals); console.log("Documents updated"); }
输出
广告