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月前
|
安全 芯片
USB输入过压保护芯片,短路保护,适用于5V,6V,型号齐全0.5A-6A
USB输入过压保护芯片用于防止低质量USB充电器造成的高压损害及快充时的瞬间尖峰电压,确保设备安全。该系列芯片耐压40V-70V,内阻低,适用于不同电流需求,如PW2605适合0.5A,PW2609A适合1A-3A,并集成过压保护与限流功能,提升产品可靠性。
USB输入过压保护芯片,短路保护,适用于5V,6V,型号齐全0.5A-6A
|
10月前
|
XML 数据可视化 API
商品详情数据实战案例,API接口系列
淘宝商品详情数据在电商领域具有广泛的应用价值,而淘宝商品详情API接口则为开发者提供了获取这些数据的重要途径。通过合理利用这些接口和数据,可以提升业务效率、优化用户体验,为电商行业的发展注入新的活力。
|
11月前
|
人工智能
用AI人模拟社会学实验,居然成功了?斯坦福、NYU用GPT-4模仿人类,准确度惊人!
斯坦福大学和纽约大学的研究团队利用GPT-4模型成功模拟了人类在社交互动中的行为模式,实验结果显示AI能以惊人准确度模仿人类对话,甚至在在线论坛和社交媒体上与真人难以区分。这一突破不仅展示了AI在社会学研究中的巨大潜力,还引发了对AI伦理和透明度的深入探讨。尽管存在一些局限性和挑战,这项研究为未来社会学实验提供了新工具和方法。[论文地址:https://docsend.com/view/qeeccuggec56k9hd]
475 2
|
11月前
|
SQL 分布式计算 数据挖掘
加速数据分析:阿里云Hologres在实时数仓中的应用实践
【10月更文挑战第9天】随着大数据技术的发展,企业对于数据处理和分析的需求日益增长。特别是在面对海量数据时,如何快速、准确地进行数据查询和分析成为了关键问题。阿里云Hologres作为一个高性能的实时交互式分析服务,为解决这些问题提供了强大的支持。本文将深入探讨Hologres的特点及其在实时数仓中的应用,并通过具体的代码示例来展示其实际应用。
529 0
|
消息中间件 云安全 运维
阿里云物联网平台测评:以温度报警器开发为例
以温度报警器为例,介绍使用阿里云物联网平台开发该产品的全流程
2801 2
阿里云物联网平台测评:以温度报警器开发为例
|
机器学习/深度学习 数据采集 存储
数据资产如何估值
数据资产如何估值
404 0
|
机器学习/深度学习 人工智能 数据挖掘
数学优化和机器学习结合使用的四种方法简介
数学优化(或数学规划)是一个强大的决策工具。通过制定目标并指定约束条件和变量,数学优化可以帮助在当前现实环境下做出最佳决策。它已经在航空、物流、电力和金融等许多不同行业证明了其价值。
393 0
数学优化和机器学习结合使用的四种方法简介
|
Windows
阿里云ACA适合什么人考?通过是不是很简单?
阿里云认证是现在很热门的一个人才认证,不管是专业人士、还是想转行的没基础的人,都会选择考这个认证,其中的ACA认证是很多人都会考的。
536 0
阿里云ACA适合什么人考?通过是不是很简单?
批量将ppt格式转为pptx格式
如何将大量的`ppt`格式的文件批量转化为`pptx`格式的文件呢。
批量将ppt格式转为pptx格式
|
Web App开发 弹性计算 网络协议
ECS 支持 IPv6 啦,快来尝鲜吧~
本文将从实践角度讲述如何创建一个 IPv6 的 ECS 并部署一个简单的 Web 应用,最后在浏览器里访问该 Web 应用。
35686 21