1、数据库启动以及常见问题解决
a、基本概念
a0、mongodb是什么
它是一个文档型数据库,在使用的时候,数据库和表都不需要先定义,如果没有读取的时候返回空,新增的时候可以自动生成数据库和表,在文档型数据库中表称为:collections 集合。
因为文档型数据库存储的是一个JSON文档对象
它的执行效率很高,但是它不太能够使用来存储关系数据;因为它常用作存储结果数据
a1、数据库的基本类型
大致分为三种:
关系型数据库:MySQL、Oracle、SQL server -- 在定义数据模型的时候可以设置数据之间的关联关系
文档型数据库:mongodb
内存型数据库:redis -- 它是一个key-value(键值对)存储数据对象,常用做 热数据、消息集合(队列)
b、安装数据库方法
1、执行安装
2、到安装目录下的bin目录 C:\Program Files\MongoDB\Server\4.2\bin
3、在这个目录下打开cmd工具,运行 mongo 命令打开服务cmd命令工具,如果命令执行错误,则参考这个文章:https://www.runoob.com/mongodb/mongodb-window-install.html
跳转到:C盘根目录
在目录下新建 data 文件夹,data文件夹中新建一个db文件夹
需要(C:\Program Files\MongoDB\Server\4.2\bin)执行一个命令:mongod --dbpath c:\data\db 执行以后那么服务就启动起来了
c、启动数据库方法
2、MongoDB在CMD命令行中的基本使用
a、帮助方法的使用
查看全局使用方法:help
查看数据库的帮助方法:db.help()
查看集合的帮助方法:db.mycoll.help()
b、查看数据库常用方法
show dbs; 展示当前电脑中mongodb上的所有数据库名字
use db_name; 切换数据库,指定当前使用的数据库
show collections; 展示当前数据库中所有集合名字
不需要执行数据库创建:
1、切换数据库(数据库可以不存在): use Test 如果这个数据库不存在,执行show dbs是看不见这个数据库的
2、直接执行数据插入动作:
db.user_info.insert(obj)
db.user_info.insert({"id": "admin", name: 'zhangsan', age: 23, sex: '男'})
解释:如果给一个不存在的数据库的集合进行数据插入动作,那么系统会自动生成一个数据库,而且会自动生成一个集合,然后再给这个集合插入一条数据
c、数据新增
db.user_info.insertMany([ {"id": "admin", name: 'zhangsan', age: 24, sex: '男'}, {"id": "admin", name: 'zhangsan', age: 25, sex: '男'}, {"id": "admin", name: 'zhangsan', age: 26, sex: '男'}, {"id": "admin", name: 'zhangsan', age: 27, sex: '男'} ])
d、数据查询
db.user_info.find() 查找符合条件的数据
db.user_info.find({key: value}) 查找相等于这个条件的数据
db.user_info.find({key: {$gt/lt: value}}) 查找大于或小于此条件的数据
db.user_info.find().count() 查找所有符合此条件的所有数据条数
e、数据删除
db.user_info.deleteOne({key: value})
removeOne也能删除(单条删除),不建议多条删除
f、数据修改
db.user_info.update({age: 24}, {id: 'admin24'})
db.user_info.updateOne({age: 24}, {$set: {id: 'admin24'}})
------------------------- 这是休息线 -------------------------
1、集成MongoDB到Express框架中
1、新建一个项目,打开cmd,执行:mkdir mis-system
2、初始化项目:npm init -y
3.引入express执行: cnpm i -S express@4
4.引入mongo执行:cnpm install --save mongoonse
- npm node package manager node包管理器