Mongodb随记

  • tip
    • 一个mongodb服务器可以有多个数据库
    • 每个数据库之间互不联系
    • 一个服务器只能同时启用一个数据库

使用

1.控制台命令行中操作mongodb

mongdb安装包 => bin => mongo.exe,双击打开

常见命令行
  1. 查看当前服务器中所有的数据库 : show dbs

  2. 查看当前指向的数据库 : db

  3. 新建/切换数据库:use 数据库名称

  4. 查看当前数据库的集合:show collections

  5. 往集合中加入数据(集合不存在,则新建):

    db.集合名称.insert({'name':'小明','age':'20'})

  6. 查看某个集合中所有的数据

    db.集合名称.find()
    db.集合名称.find().pretty()
    
2.可视化图形工具中操作MongoDB:Navicat Premium 15

安装:https://www.rjsos.com/archives/navicatpremium15.html

环境配置(安装链接里的教程安装失败的话,看教程):https://www.bilibili.com/video/BV1eh411B7NL?p=54

使用:https://www.bilibili.com/video/BV1eh411B7NL?p=61

3.通过后端代码区操作MongoDB
mongoose:Node.js提供的一个用于便捷操作MongoDB的库
  • 下载:npm i mongoose --save
express项目连接Mongodb
//app.js

// 链接mongodb
const mongoose = require('mongoose');
const dbURL = 'mongodb://localhost:27017/test';//项目链接的数据库地址
mongoose.connect(dbURL);//连接数据库
//项目与数据库连接成功触发
mongoose.connection.on('connected',function(){
  console.log( dbURL +'数据库连接成功');
});
  • test:为具体数据库的名称

  • 若数据库不存在则会自动创建

mongoose对数据库集合操作:
//users.js

// 1.定义数据集合中的结构:定义出集合中数据有哪些属性,属性的值是什么类型
const {Schema, model} = require('mongoose');

const usersSchema = new Schema({
  username: String,
  password: String
})

// 2.定义数据集合的模型,将schema和数据库中 的集合关联起来
//model('模型名称', usersSchema, '数据库中的集合名称');
const usersModel = model('usersModel',usersSchema,'users')
  • 每一个集合(路由文件都需要配置一次)
mongoose的一些操作函数
  • find: 查找模型(数据库集合)中匹配的数据

    //user = {name:'1111',pwd:'1111'}
    const result = await userModel.find(user);
    
    1. find为异步操作,需要用async, await
    2. 查询所有 userModel.find()
  • create: 新增数据

    userModel.create({
        name:'123',
        pwd:'122'
    })
    
    1. 为异步操作,需要用async, await
  • deleteOne/deleteMany: 删除数据

    userModel.deleteOne({username:'zhang'});//只删除一个匹配的
    userModel.deleteMany({username:'zhang'});//删除所有匹配的
    
    1. 为异步操作,需要用async, await
  • updateOne: 修改数据

    userModel.updateOne({_id:1},{name:'list',pwd:'222'});
    
    1. 为异步操作,需要用async, await

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值