关系型数据库 和 非关系型数据库(MongoDB)

关系型数据库

表就是关系,或者说表与表之间存在关系

  • 都需要通过 sql 语言来操作
  • 在操作之前都需要设计表结构
  • 而且数据表还支持约束
    • 唯一的
    • 主键
    • 默认值
    • 非空
非关系型数据库
  • 非常灵活,就是 key-value 对儿
  • MongoDB 是长的最像关系型数据库的非关系型数据库
    • 数据库:数据库
    • 数据表:集合(数组)
    • 表记录:(文档对象)

MongoDB 数据库结构:

{
	qq: {
		user: [
			{name: 'bob', age: 13},
			{name: 'lucy', age: 15},
			{name: 'john', age: 14}
		],
		passward: [
		],
		...
	},
	taobao: {
	}
}
  • MongoDB 不需要设计表结构,可以任意的往里面存数据,没有结构一说
  • 当需要插入数据时,只需要指定往哪个数据库的哪个集合操作就可以了

MongoDB

下载官网:MongoDB

启动:
# mongodb 默认执行 mongod 命令所处盘符根目录下的 /data/db
# 作为自己的数据储存目录
#所以在第一次执行该命令前需手动创建一个 /data/db
mongod

# 或者像下面一样自定义数据储存目录,但每次都需下面一样执行命令
mongod --dbpath D:\安装软件\mongoDB\data\db

停止:

ctrl + c
连接数据库:
# 新启 cmd,下命令默认连接本机的 MongoDB 服务
mongo

退出:

exit
基本命令:
  • show dbs
    • 查看显示所有数据库
  • db
    • 查看当前操作的数据库
  • use 数据库名称
    • 切换到指定的数据库(如果没有会新建)
  • show collections
    • 展示数据库中所有的集合
  • db.集合名称.insertOne({ 数据文档 })
    • 插入数据,例如:db.students.insertOne({"name":"bob"})
  • db.集合名称.find()
    • 查找显示数据,例如:db.students.find()
    • 可以通过 db.集合名称.find().pretty() 美化输出格式
    • 默认是查询所有,可以通过 db.集合名称.find({ 查询条件 }) 按条件查询集合中的数据
  • db.集合名称.update({ 更新条件 },{ 要更新的字段 })
    • 更新指定集合数据,注意点,要更新的字段一定要这样写 {$set:{字段名称 : 字段值}}
  • db.集合名称.remove({ 删除条件 })
    • 删除指定集合中的数据
  • exit 退出
  • cls 清屏

node——20-MongoDB

在 node 中操作 MongoDB 数据
# 安装
npm i -S mogoose
// 引包
const mongoose = require('mongoose');

// 连接 MongoDB 数据库
mongoose.connect('mongodb://localhost:27017/test', {useNewUrlParser: true});

// 创建一个模型
// 就是在设计数据库
// MongoDB 是动态的,非常灵活,只需要在代码中设计你的数据库就可以了
// mongoose 这个包就可以让设计编写过程变的非常的简单
// model(数据名称,数据类型);
const Cat = mongoose.model('Cat', {name: String});

for (let i = 0; i < 10; i++) {
    // 实例化一个 Cat
    const kitty = new Cat({name: 'bob' + i});

    // 持久化保存 Kitty 实例
    kitty.save().then(() => console.log('meow'));
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-12
  • 2021-11-23
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-29
  • 2022-03-08
  • 2022-12-23
相关资源
相似解决方案