MongoDB数据库的使用


MongoDB数据库的使用

1.关系型数据库和非关系型数据库

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

  • 所有的关系型数据库都需要通过sql语言来操作
  • 所有的关系型数据库在操作之前都需要设计表结构

2.MongoDB数据库

3.启动和关闭MongoDB数据库

启动:

#mongodb默认使用执行mongod命令所处盘符根目录下的/data/db 作为自己的数据存储目录
mongod

如果想要修改默认的数据库存储目录,可以:

mongod --dbpath=数据存储目录路径

停止:

在开启服务的控制台,直接ctrl+c即可停止。
或直接关闭开启服务的控制台也可以。

4.连接数据库

连接:

#改命令默认连接本机的mongodb服务
mongo

退出:

#在连接状态输入exit即可退出
exit

基本命令

  • show dbs

    • 查看数据库列表
  • db

    • 查看当前操作的数据库
  • use 数据库名称

    • 切换到指定的数据库
  • 插入数据 db.数据表名称.insert({"name":ayng})

    • 向数据表中插入一条数据
  • show collections

    • 显示当前数据表集合
  • db.数据表名称.find()

    • 查找数据表里所有的数据,显示出来了我们插入的数据

mongoose对数据库进行操作

1.起步

安装:

npm i mongoose

示例:

const mongoose = require('mongoose');
//连接MongoDB数据库
mongoose.connect('mongodb://localhost/test');

//设计数据库
//MongoDB是动态的,非常灵活,只需要在代码中设计你的数据库就可以了
const Cat = mongoose.model('Cat', { name: String });
//实例化一个cat
const kitty = new Cat({"name":"Zildjian"});    //这里会直接把大写转小写加复数,所以查询为:db.cats.find()
//持久化保存kitty实例
kitty.save().then(() => console.log('meow')).catch(err =>{console.log('保存失败');});

结果:在这里插入图片描述

2.设计表结构

var mongoose = require('mongoose');
//连接MongoDB数据库
mongoose.connect('mongodb://localhost/test');
var Schema = mongoose.Schema;
//设计集合结构(表结构)
//字段名称就是表结构中的属性名称
var blogSchema = new Schema({
 title: String,
 author: String,
 body:  String,
});
/* 将文档结构发布为模型
*   mongoose.model 方法就是用来将一个架构发布为model
*  第一个参数:传入一个大写名词单数字符串用来表示你的数据库名称
*   mongoose会自动将大写名词的字符串生成小写复数的集合名称
*  第二个参数:架构Schema 
**/
var Blog = mongoose.model('Blog', blogSchema);

3.新增数据

//使用构造函数对blog集合中的数据操作
var myblog = new Blog({
  title:'新增数据',
  author:'Yang',
  body:'使用构造函数对blog集合中的数据操作'
})
myblog.save().then(() =>{console.log('保存成功');}).catch((err) =>{console.log(err);})

结果:
在这里插入图片描述

4.查询数据

Blog.find(function (err,ret) {
    if(err){
        console.log('查询失败');
    }else{
        console.log(ret);
    }
})

结果:
在这里插入图片描述

6.更新数据

//更新数据  传入对象id
Blog.findByIdAndUpdate('600d34c67bdce30fd032ead1',{
    title:'更新数据'
},function (err,ret) {
    if(err){
        console.log('更新失败');
    }else{
        console.log('更新成功');
        console.log(ret);
    }
})

结果:
在这里插入图片描述


文章作者: Yang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Yang !
  目录