Node.js中Mongodb数据库操作方法(最新推荐)

 更新时间:2024年12月03日 11:50:25   作者:项哈哈想做前端  
MongoDB是一种基于分布式文件存储的NoSQL数据库,它允许存储和检索大量结构化数据,MongoDB的核心概念包括数据库、集合和文档,每个集合可以包含多个文档,每个文档是一个键值对的集合,本文介绍Node.js Mongodb数据库操作方法,感兴趣的朋友一起看看吧

MongoDB

MongoDB是什么?

MongoDB是一个基于分布式文件存储的数据库

数据库是什么?

数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序(软件)

数据库作用?

对数据进行增、删、改、查

数据库特点?

  • 速度更快(一些数据库有特定的结构,可以加快访问)
  • 扩展性更强(多数据库节点)
  • 安全姓更强(加密)

为什么选Mongodb?

操作鱼js类似,容易上手,学习成本低

核心概念

Mongodb中有三个重要概念:

  • 速度更快(一些数据库有特定的结构,可以加快访问)
  • 扩展性更强(多数据库节点)
  • 安全姓更强(加密)

理解三者关系

  • db.json可以理解成一个数据库,一个数据库服务下可以创建N个数据库,它们之间不会共享任何数据。
  • json文件中的)属性(accountsusers)所对应的数组信息,就是集合,每个集合存储着一类特定的数据,如accounts 集合存储了与账户相关的记录,而 users 集合则存储了用户的信息。
  • accounts这个集合中有很多对象,每一个对象就是一个文档(每个文档是一个独立的数据单元,包含多个键值对,每个文档中的键值对(例如 “id”: “3-YLju5f3”)是一个字段
{
  "accounts": [
    {
      "id": "3-YLju5f3",
      "title": "买电脑",
      "time": "2023-02-08",
      "type": "-1",
      "account": "5500",
      "remarks": "为了上网课"
    },
    {
      "id": "3-YLju5f4",
      "title": "请女朋友吃饭",
      "time": "2023-02-08",
      "type": "-1",
      "account": "214",
      "remarks": "情人节聚餐"
    },
    {
      "id": "mRQiD4s3K",
      "title": "发工资",
      "time": "2023-02-19",
      "type": "1",
      "account": "4396",
      "remarks": "终于发工资啦!~~"
    }
  ],
  "users":[
    {
      "id": 1,
      "name": "zhangsan",
      "age": 18
    },
    {
      "id": 2,
      "name": "lisi",
      "age": 20
    },
    {
      "id": 3,
      "name": "wangwu",
      "age": 22
    }
  ]
}

Mongodb服务

下载安装

Mongodb下载地址:https://www.mongodb.com/try/download/community,有msi和压缩包可以选,本次下载是采用压缩包形式。

从MongoDB 6.0开始,官方推荐使用MongoDB Shell (mongosh) 作为新的命令行工具,而不是传统的mongo.exe。

Mongosh下载地址:https://www.mongodb.com/try/download/shell?spm=5176.28103460.0.0.297c5d27VMftbK
Mongodb和Mongosh建议都解压在C盘下的Program Files中,并且在C盘文件中,创建data文件夹,再在data文件夹中创建db文件夹作为Mongodb的默认文件夹。

// 启动服务
mongod
// or
mongod --dbpath "C:\data\db
// 启动 MongoDB Shell 并连接到 MongoDB 实例
mongosh

命令行交互

数据库命令

// 显示所有的数据库
show dbs
// 切换指定数据库
use 数据库名
// 删除数据库
use 数据库名
db.dropDatabase()
// 创建集合
db.createCollection('集合名称')
// 显示当前数据库的集合
show collections
// 删除某个集合
db.库名.drop()
// 重命名集合
db.库名.renameCollection('newName')

文档命令

// 插入文档/
db.集合名.insert(文档对象)
// 查询文档
db.集合名.find(查询条件)
// 更新文档
db.集合名.update(查询条件, 新文档)  
db.users.update({name: 'Bob'},{age: 18})
db.集合名.update({name:'Bob'},{$set:{age:19}})
// 删除文档
db.集合名.remove(查询条件)
//  remove() 方法已经被弃用
// 删除第一个匹配的文档
db.collection.deleteOne( { name: '张三' });
// 删除所有匹配的文档
db.collection.deleteMany( { name: '张三' });

到此这篇关于Node.js-Mongodb数据库的文章就介绍到这了,更多相关Node.js Mongodb数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • sails框架的学习指南

    sails框架的学习指南

    本文从最基础的sails框架知识开始讲起,通过示例给我们展示了sails框架的各个方面,非常的不错,推荐给小伙伴们
    2014-12-12
  • node.js中PC端微信小程序包解密的处理思路

    node.js中PC端微信小程序包解密的处理思路

    我们使用node.js去写一个解码的程序。根据上边加密的流程,我们首先读取加密文件,把前6个字节的固定字符串去除,这篇文章主要介绍了node.js中PC端微信小程序包解密,需要的朋友可以参考下
    2021-12-12
  • 利用node.js实现反向代理的方法详解

    利用node.js实现反向代理的方法详解

    在实际工程开发中,会有前后端分离的需求。为了平滑的完成前端请求到后端各个独立服务,需要一个中间件实现请求转发的功能,利用Nginx可以实现,在这里使用nodejs实现一个反向代理服务器。本文主要介绍了关于利用node.js实现反向代理的相关资料,需要的朋友可以参考下。
    2017-07-07
  • Nodejs实现WebSocket代码实例

    Nodejs实现WebSocket代码实例

    这篇文章主要介绍了Nodejs实现WebSocket代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Node.js dgram模块实现UDP通信示例代码

    Node.js dgram模块实现UDP通信示例代码

    这篇文章主要介绍了Node.js dgram模块实现UDP通信示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • array-uniq的安装和使用方法

    array-uniq的安装和使用方法

    array-uniq是一个非常实用的NPM包,用于在JavaScript中创建不含重复元素的数组,它提供了一个简单而有效的方法来去除数组中的重复项,本文将介绍如何安装和使用array-uniq来清理你的数组数据,需要的朋友可以参考下
    2024-06-06
  • Node中文件断点续传原理和方法总结

    Node中文件断点续传原理和方法总结

    在之前做过一个小项目,涉及到了文件上传,在大文件上面使用了断点续传,降低了服务器方面的压力,现在小编把Node中文件断点续传原理和方法总结分享给大家,感兴趣的朋友一起看看吧
    2022-01-01
  • node.js中的fs.unlinkSync方法使用说明

    node.js中的fs.unlinkSync方法使用说明

    这篇文章主要介绍了node.js中的fs.unlinkSync方法使用说明,本文介绍了fs.unlinkSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 安装node-sass的方法步骤

    安装node-sass的方法步骤

    本文主要介绍了安装node-sass的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Nodejs+express+html5 实现拖拽上传

    Nodejs+express+html5 实现拖拽上传

    文件上传是一个比较常见的功能,传统的选择方式的上传比较麻烦,需要先点击上传按钮,然后再找到文件的路径,然后上传。给用户体验带来很大问题。html5开始支持拖拽上传的需要的api。nodejs也是一个最近越来越流行的技术,这也是自己第一次接触nodejs。
    2014-08-08

最新评论