1.下载地址
https://www.mongodb.com/try/download/community
2.安装
这一步的Istall MongoDB Compass可以取消勾选,下载完MongoDB之后再下载。
否则下载速度会特别慢
点击Install等待下载即可
3.测试是否已安装
mongod --version
出现一下内容就表示安装成功了
4.配置环境变量
右键此电脑,点击属性
把MongoDB路径下面的bin配置进去,然后点击确定即可
5.介绍
关系型和非关系型数据库
关系型数据库(表就是关系,或者说表与表之间存在关系)。
所有的关系型数据库都需要通过sql语言来操作
所有的关系型数据库在操作之前都需要设计表结构
而且数据表还支持约束
唯一的
主键
默认值
非空
非关系型数据库
非关系型数据库非常的灵活
有的关系型数据库就是key-value对儿
但MongDB是长得最像关系型数据库的非关系型数据库
数据库 -》 数据库
数据表 -》 集合(数组)
表记录 -》文档对象
一个数据库中可以有多个数据库,一个数据库中可以有多个集合(数组),一个集合中可以有多个文档(表记录)
6.启动和关闭数据库
1.启动
打开cmd命令提示块输入 mongod,出现以下就表示数据库已经打开。
2.修改储存路径
mongod --dbpath=数据储存路径
3.停止
打卡控制台直接Ctrl+c即可停止
4.连接数据库
新打开一个命令提示快,输入mongo即可进行连接
输入exit+回车即可退出
7.基本指令
show dbs 查看显示数据库
db 查看当前数据库
use 切换指定的数据,没有将会新建
db.obj.insertOne({name:’a’,age:18}) 插入数据库
show collections 查看当前数据库已有的集合
db.obj.find() 找到指定集合下面的所有数据
db.dropDatabase() 删除现有的数据库。
8.node连接MongoDB数据库
方法一:使用第三方的mongodb包
https://www.runoob.com/nodejs/nodejs-mongodb.html
方法二:使用mongoose(推荐)
mongoose官网:http://www.mongoosejs.net/
下载:
npm i mongoose
使用:
设计Schema发布bodel
var mongoose = require('mongoose');
// 引入图表
var Schema = mongoose.Schema;
// 连接数据库
mongoose.connect('mongodb://localhost/test');
// 约定数据类型
var userMsg = new Schema({
user: {
type: String,
required: true
},
password: {
type: String | Number,
required: true
},
email: {
type: String
}
});
// 将文档发布为模型
var UserMsg = mongoose.model('UserMsg', userMsg);
添加数据
// 增加数据
var addMsg = new UserMsg({
user: 'admin',
password: '123123',
email: 'admin@qq.com'
});
// 持久化储存
addMsg.save((err, res) => {
if (err) {
console.log('保存失败');
} else {
console.log('保存成功', res);
}
});
查找数据
1.查找所有的数据
UserMsg.find((err, res) => {
if (err) {
console.log('失败');
} else {
console.log(res);
}
});
2.查找指定信息的所有数据
UserMsg.find({ user: 'admin2' }, (err, res) => {
if (err) {
console.log('失败');
} else {
console.log(res);
}
});
3.查找指定信息的第一个数据
UserMsg.findOne({ name: 'admin' }, (err, res) => {
if (err) {
console.log('失败');
} else {
console.log(res);
}
});
更新
findByIdAndUpdate()通过id进行更新
UserMsg.findByIdAndUpdate('616febc5dc90848c929eb9ce', { name: 'admin2' }, (err, res) => {
if (!err) console.log(res);
});
update通过其他属性进行更新
UserMsg.update({ user: 'admin30' }, { password: 666666, email: 'mage@admin.cn' }, (err, res) => {
console.log(res);
});
删除
UserMsg.remove({ user: 'admin' }, (err, res) => {
if (err) {
console.log(err);
} else {
console.log(res);
}
});