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

简介: 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()
相关文章
|
5月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
488 1
|
10月前
|
存储 JavaScript 前端开发
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
1019 9
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
467 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
622 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
378 11
|
存储 JavaScript NoSQL
Node.js新作《循序渐进Node.js企业级开发实践》简介
《循序渐进Node.js企业级开发实践》由清华大学出版社出版,基于Node.js 22.3.0编写,包含26个实战案例和43个上机练习,旨在帮助读者从基础到进阶全面掌握Node.js技术,适用于初学者、进阶开发者及全栈工程师。
254 9
|
开发框架 JavaScript 前端开发
Node.js日记:客户端和服务端介绍、Node.js介绍
Node.js日记:客户端和服务端介绍、Node.js介绍
|
JavaScript 前端开发 开发工具
Node.js——初识Node.js
Node.js——初识Node.js
214 4
|
JavaScript 前端开发 持续交付
构建现代Web应用:Vue.js与Node.js的完美结合
【10月更文挑战第22天】随着互联网技术的快速发展,Web应用已经成为了人们日常生活和工作的重要组成部分。前端技术和后端技术的不断创新,为Web应用的构建提供了更多可能。在本篇文章中,我们将探讨Vue.js和Node.js这两大热门技术如何完美结合,构建现代Web应用。
897 4

热门文章

最新文章

推荐镜像

更多