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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 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>
目录
相关文章
|
11月前
|
数据可视化 搜索推荐 项目管理
有没有好用的待办事项清单软件? —— 一文带你了解
在快节奏的现代生活中,待办事项清单成为提高效率、管理时间的重要工具。它不仅帮助记录任务,还能清晰规划时间和精力,确保重要事项优先处理。本文介绍了待办事项清单的应用场景及四款推荐软件:板栗看板、Todoist、Wunderlist 和 Trello,并分析了它们的优缺点,帮助用户选择合适的工具。
有没有好用的待办事项清单软件? —— 一文带你了解
|
9月前
|
人工智能 并行计算 编译器
【AI系统】SIMD & SIMT 与 CUDA 关系
本文深入解析了AI芯片中SIMD和SIMT的计算本质,基于NVIDIA CUDA实现的对比,探讨了不同并行编程模型,包括串行(SISD)、数据并行(SIMD)和多线程(MIMD/SPMD)。文章详细介绍了各模型的特点及应用场景,特别强调了英伟达GPU中的SIMT机制如何通过SPMD编程模型实现高效并行计算,以及SIMD、SIMT、SPMD之间的关系和区别。
439 13
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
智能语音助手的技术演进与未来趋势####
【10月更文挑战第16天】 智能语音助手,作为人工智能领域的璀璨明珠,正以前所未有的速度融入我们的生活。本文旨在探索这一技术奇迹背后的奥秘,从最初的简单命令响应,到如今能够理解复杂语境、提供个性化服务的高阶智能体,智能语音助手的发展历程见证了技术进步的非凡成就。我们将深入剖析其核心技术原理,包括自然语言处理(NLP)、语音识别与合成、深度学习等,同时展望未来,探讨在物联网、医疗健康、教育等多个领域潜在的革命性应用。这不仅是一篇技术解读,更是对智能时代生活方式变革的一次深刻洞察。 ####
651 6
|
11月前
|
机器学习/深度学习 人工智能 算法
AI与未来医疗:智能化健康管理的新纪元
本文探讨了人工智能(AI)在医疗领域的应用及其对未来健康管理的影响。通过分析当前AI技术在疾病诊断、个性化治疗及远程医疗等方面的最新进展,文章揭示了AI如何提升医疗服务质量,实现精准医疗。同时,探讨了AI技术面临的伦理和隐私挑战,并提出应对策略。最终,本文展望了AI在未来医疗中的潜力,强调其在提高公共健康水平方面的重要性。
404 1
|
12月前
|
存储 并行计算 安全
超级计算机:探索宇宙奥秘与解决复杂问题的利器
【9月更文挑战第14天】超级计算机作为计算科学的巅峰之作,以其卓越的计算能力和庞大的数据存储能力,助力科学家深入探索宇宙奥秘并解决复杂问题。本文介绍了超级计算机的定义、发展历程及关键技术,并详细探讨了其在宇宙学模拟、生物学研究、气候研究和工程技术等领域的广泛应用。尽管面临能耗、数据传输等挑战,但其未来前景光明,有望在量子计算等前沿技术推动下继续引领科技创新。
|
机器学习/深度学习 传感器 人工智能
探索人工智能的未来:机遇与挑战
【8月更文挑战第6天】本文深入探讨了人工智能(AI)的未来发展路径,包括技术进步、应用扩展和伦理法规等方面。文章分析了AI技术在医疗、金融、交通等领域的应用案例,讨论了AI发展过程中可能遇到的技术瓶颈、数据隐私和就业影响等挑战,并提出了相应的解决策略。最后,文章以开放性问题结束,鼓励读者思考如何平衡AI技术的利与弊。
|
传感器 存储 算法
物联网设备的低功耗设计与优化技术
【7月更文挑战第7天】低功耗设计与优化技术是物联网设备广泛应用的关键。通过选择合适的处理器和微控制器、低功耗通信协议、睡眠与唤醒机制以及数据压缩与传输优化策略,可以显著降低物联网设备的功耗,延长其电池寿命,提高系统的可靠性和性能。未来,随着物联网技术的不断发展,低功耗设计与优化技术将持续演进,并在更多领域发挥重要作用。
|
弹性计算 负载均衡 容灾
阿里云服务器地域和可用区是什么关系?云服务器地域和可用区选择参考
在我们选择阿里云服务器地域的时候,不管是选择国内的云服务器还是国外地域的云服务器,都有多个地域及可用区选择,那么什么是地域?什么是可用区?他们之间有何关系?云服务器地域和可用区应该如何选择呢?本文来为大家做个简单的介绍及选择参考。
阿里云服务器地域和可用区是什么关系?云服务器地域和可用区选择参考
|
前端开发 BI
帆软实战问题及解决方案
帆软实战问题及解决方案
677 0
|
Android开发 数据格式 XML
Android 视频播放器 VideoView 的使用,播放本地视频 和 网络 视频
1、布局文件 2、代码部分 package app.com.myapplication; import android.
3353 0