学习MongoDB的心得

MongoDB

      • 工具以及准备
      • 使用数据库
      • MongoDB命令
      • MongoDB与node.js 的连接

因为项目的需要,最近学习了一下MongoDB,分享一下我的学习心得。
MongoDB是NoSQL,也就是非关系型的数据库,是面向海量数据访问的文档类型数据库

工具以及准备

mongodb 安装包
robomongo 视图工具(图表工具)
postman 测试接口工具

配置环境变量
在mongodb安装文件里面找到bin文件,获取路径
此电脑 鼠标右键属性 高级系统设置 环境变量 用户环境变量path 添加bin文件路径
学习MongoDB的心得_第1张图片

使用数据库

  1. 创建一个新的文件夹,这个文件夹就是数据库
  2. 数据库开机
    mongod --dbpath 文件夹路径
    看到 waiting for connctions prot : 27017,
    开机以后当前的cmd命令窗口就不要动了,因为数据库也是一种服务
  3. 使用数据库
    打开一个新的cmd命令窗口,连接数据库mongo

MongoDB命令

  1. show dbs 列出所有数据库
    学习MongoDB的心得_第2张图片
    其中 admin local 是系统数据库

  2. use 创建并使用数据库

    use 数据库名
    
  3. db 查看当前所在数据库
    要先使用数据库,没有输出test
    在这里插入图片描述

4.创建集合

db.createCollection("集合名")  

4.添加数据

单条数据 
db.collection.insert({"name":"jack","age":18})
//collection 集合名
多条数据
db.collection.insertMany([{"name":"jack","age":19},{"name":"rose","age":20}])

5.导入数据

重新打开一个新的cmd命令窗口

mongoimport --db 数据库名称 --collection 集合名称   [--drop] (是否清空当前集合) --file 文件路径 

6.删除数据

单条数据
db.collection.remove({"name":"jack"}) 
db.collection.remove({"name":"jack"},1) //只删除一个
删除所有数据
db.collection.remove()

7.修改数据

替换
db.collection.update({"name":"张三"},{"name":"jack"})
修改
db.collection.update({"name":"张三"},{$set:{"name":"jack"}})

8.查找数据

db.collection.find() //查询所有
db.collection.find({"name":"jack"})  //查询含有na'me是jack的
db.collection.find({"age":{$gt:50}}) //小于50
db.collection.find({"age":{$lt:50}}) //大于50
db.collection.find({$or:[{"age":99},{"age":24}]})  //或者
//$lte 小于或等于   $gte 大于或等于    $ne  不等于

9.排序

db.collection.find().sort({key:1})  // 1 为升序排列,而 -1 是用于降序排列。

10.分页

limit(num)  //从MongoDB中读取 读取num条数据
skip(num)  //过滤指定数量的数据
db.collection.find().limit(pageunm).skip(page * pageunm)

MongoDB与node.js 的连接

下载 mongodb 模块

npm install mongodb --save
//导入 mongodb数据库
const mongoDB = require("mongodb");
//链接数据库
const MongoClient = mongoDB.MongoClient;

//链接数据库地址
const url = "mongodb://127.0.0.1:27017/数据库名"
MongoClient.connect(url ,(err,db)=>{//db就是当前数据库
   if(err){
       console.log("连接失败")
   }
   console.log("链接成功")   
   //这里就可以进行对数据库的操作
   
   db.close();//操作完成以后,数据库必须关闭,不管是什么数据库
})

这样写你会发现在使用时会有很多重复代码,每个接口都要写上面的代码,为了解决这个问题,可以使用DAO的封装,让代码更加简洁

你可能感兴趣的:(学习MongoDB的心得)