当前位置: 首页 > news >正文

Node.js-Mongodb数据库

MongoDB

MongoDB是什么?

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

数据库是什么?

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

数据库作用?

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

数据库特点?

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

为什么选Mongodb?

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

核心概念

Mongodb中有三个重要概念:

  • 数据库(database) 数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存放很多集合
  • 集合(collection) 集合类似于JS中的数组,在集合中可以存放很多文档
  • 文档(document)文档是数据库中最小单位,类似于JS中的对象

理解三者关系

  • 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: '张三' });
http://www.lryc.cn/news/496150.html

相关文章:

  • STM32 ADC --- 知识点总结
  • 技术创新与人才培养并重 软通动力子公司鸿湖万联亮相OpenHarmony人才生态大会
  • 兔子繁衍问题
  • 汉代风云人物 1晁错
  • 学习threejs,使用specularMap设置高光贴图
  • 【UE5 C++】判断两点连线是否穿过球体
  • 【Blender】如何创建空心管道
  • ChromeBook11 HP G7EE 刷入Ubuntu的记录
  • 16asm - 汇编介绍 和 debug使用
  • 初识QT第一天
  • ChatGPT科研应用、论文写作、课题申报、数据分析与AI绘图
  • 原子类、AtomicLong、AtomicReference、AtomicIntegerFieldUpdater、LongAdder
  • c语言——数组名该如何理解呢?
  • Linux学习笔记13 系统进程管理
  • Spring Boot 项目集成camunda流程引擎
  • 2024.12.2工作复盘
  • Hot100 - 二叉树的中序遍历
  • docker build ubuntu ssh
  • 三维路径规划|基于黑翅鸢BKA优化算法的三维路径规划Matlab程序
  • day01(Linux底层)基础知识
  • flink学习(13)—— 重试机制和维表join
  • 第三方Cookie的消亡与Google服务器端标记的崛起
  • 微信小程序——文档下载功能分享(含代码)
  • Burp Suite 全面解析:开启你的 Web 安全测试之旅
  • Oracle DataGuard 主备正常切换 (Switchover)
  • 为什么编程语言会设计不可变的对象?字符串不可变?NSString *s = @“hello“变量s是不可变的吗?Rust内部可变性的意义?
  • 安装 RabbitMQ 服务
  • 爬虫—Scrapy 整合 ChromeDriver 实现动态网页拉取
  • Linux 进程管理详解
  • MySQL更新JSON字段key:value形式