Node.js使用mongodb操作MongoDB数据库

简介: Node.js使用mongodb操作MongoDB数据库

安装

npm i mongodb

文档给出的示例是通过回调函数操作的

这里给出async/await 操作方式,写起来会舒服很多

代码实例

const { MongoClient, ObjectId } = require('mongodb')


// 配置连接参数
const url = "mongodb://localhost:27017";
const options = { useNewUrlParser: true, useUnifiedTopology: true }


async function func() {
// 连接数据库
const client = await MongoClient.connect(url, options)

// 获取库、集合
const data = client.db("data");
const student = data.collection("student")

/**
* 写操作
*/
// 插入数据 insertOne insertMany
const result1 = await student.insertOne(
{ 'name': "Tom", age: 23 }
)
console.log(result1.insertedId);
// 5e8afa00e473da5ac1c0a9b7

// 更新数据 updateOne updateMany
const result2 = await student.updateOne(
{ _id: ObjectId('5e8af9dbda2c0b5aacb9ff1c') },
{ $set: { name: "Jack" } }
)
console.log(result2.modifiedCount); // 1

// 删除数据 deleteOne deleteMany
const result3 = await student.deleteOne(
{ _id: ObjectId('5e8af9dbda2c0b5aacb9ff1c') }
)
console.log(result3.deletedCount); // 1

/**
* 读操作
*/
// 查询数据 findOne find
const result4 = await student.findOne(
{ 'name': "Tom" }
)
console.log(result4);
// { _id: 5e8af9e8007ee05aad2b641f, name: 'Tom', age: 23 }

// 排序:升序(1) 降序(-1), 分页
const result5 = await student.find(
{ 'name': "Tom" }
).skip(2).limit(2).sort({ age: -1 }).toArray()
console.log(result5);
// [
// { _id: 5e8afa00e473da5ac1c0a9b7, name: 'Tom', age: 23 },
// { _id: 5e8afaab247c7c5b0530143e, name: 'Tom', age: 23 }
// ]

// 关闭连接
client.close()
}


func()

参考

Node.js 连接 MongoDB

            </div>
目录
相关文章
|
编解码 安全 iOS开发
如何将ISO转换为MP4格式
将 ISO 文件转换为 MP4 格式,可以更方便地保存和在常用设备上播放。这里有 8 款适用于 Windows 和 Mac 的最佳软件程序,可用于将 ISO 文件转换为数字格式,以便在任何设备上欣赏您的视频。
若依框架 --- 修改默认跳转页面
若依框架 --- 修改默认跳转页面
1355 0
|
Web App开发 JavaScript 前端开发
网页VUE纯前端在线预览编辑Office,支持doc/docx、xls/xlsx、ppt/pptx、pdf等格式
随着互联网技术的不断发展,越来越多的企业开始采用在线办公模式,微软Office Word 是最好用的文档编辑工具,然而doc、docx、xls、xlsx、ppt、pptx等格式的Office文档是无法直接在浏览器中直接打开的,如果可以实现Web在线预览编辑OffIce,肯定会还带来了更高效、便捷的办公体验,为我们的工作带来了更多可能性。
3537 0
|
11月前
|
编解码 安全 Android开发
如何修复 Android 和 Windows 不支持视频编解码器的问题?
视频播放时遇到“编解码器不支持”错误(如0xc00d36c4或0xc00d5212)是常见问题,即使文件格式为MP4或MKV。编解码器是编码和解码数据的工具,不同设备和版本支持不同的编解码器。解决方法包括:1) 安装所需编解码器,如K-Lite Codec Pack;2) 使用自带编解码器的第三方播放器,如VLC、KMPlayer等。这些方法能帮助你顺利播放视频。
|
API
Istio 使用ingress和gateway两种方式公开服务
本文档指导您完成Istio网关的部署与配置。首先安装`istiod`(步骤略过)。接着,创建`ingress.yaml`文件,定义Istio入口网关的服务、部署及权限设置,通过`kubectl apply -f ingress.yaml`命令应用。最后,创建Ingress资源,指定主机名、后端服务及TLS配置,实现对外部请求的路由管理。
1054 1
|
编解码 搜索推荐 数据安全/隐私保护
创作高质量网页内容时,怎样使用图片和视频等多媒体元素?
在创作高质量网页内容时,合理使用图片、视频等多媒体元素能够显著增强内容的吸引力、可读性和分享性
|
机器学习/深度学习 人工智能 并行计算
N卡和A卡的硬件架构比较与选择指南
N卡和A卡的硬件架构比较与选择指南
|
机器学习/深度学习 人工智能 自然语言处理
未来后端开发的三大趋势
【2月更文挑战第5天】 传统后端开发在面对日益复杂的技术和业务需求时,正经历着一场革命性的改变。本文将探讨未来后端开发的三大趋势:分布式架构、无服务器计算和人工智能应用,并分析其对后端开发者和企业的影响。随着技术的不断进步和创新,我们必须更加灵活地适应这些变化,以满足用户的需求并保持竞争优势。
|
机器学习/深度学习 人工智能 弹性计算
五年磨一剑:阿里达摩院重磅推出AI模型社区「魔搭」,300+模型全面开源
五年磨一剑:阿里达摩院重磅推出AI模型社区「魔搭」,300+模型全面开源
1795 0
|
SQL 网络安全 PHP
渗透测试-SQL注入之堆叠注入-攻防世界supersqli实战
渗透测试-SQL注入之堆叠注入-攻防世界supersqli实战
渗透测试-SQL注入之堆叠注入-攻防世界supersqli实战