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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: Node.js使用mongodb.js操作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 } 
    // ]
    // 关闭连接
    await client.close();
}
func()
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
2天前
|
JavaScript 前端开发 中间件
JS服务端技术—Node.js知识点
本文介绍了Node.js中的几个重要模块,包括NPM、Buffer、fs模块、path模块、express模块、http模块以及mysql模块。每部分不仅提供了基础概念,还推荐了相关博文供深入学习。特别强调了express模块的使用,包括响应相关函数、中间件、Router和请求体数据解析等内容。文章还讨论了静态资源无法访问的问题及其解决方案,并总结了一些通用设置。适合Node.js初学者参考学习。
15 1
|
7天前
|
开发框架 JavaScript 前端开发
Node.js日记:客户端和服务端介绍、Node.js介绍
Node.js日记:客户端和服务端介绍、Node.js介绍
|
12天前
|
JavaScript 前端开发 开发工具
Node.js——初识Node.js
Node.js——初识Node.js
15 4
|
12天前
|
JavaScript 前端开发 持续交付
构建现代Web应用:Vue.js与Node.js的完美结合
【10月更文挑战第22天】随着互联网技术的快速发展,Web应用已经成为了人们日常生活和工作的重要组成部分。前端技术和后端技术的不断创新,为Web应用的构建提供了更多可能。在本篇文章中,我们将探讨Vue.js和Node.js这两大热门技术如何完美结合,构建现代Web应用。
16 4
|
16天前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
14天前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第20天
22 0
|
21天前
|
缓存 监控 JavaScript
Node.js中基于node-schedule实现定时任务之详解
Node.js中基于node-schedule实现定时任务之详解
68 0
|
Web App开发 JavaScript 前端开发
00-Node.js 简介
Node.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!
161 0
00-Node.js 简介
|
2月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装