zoukankan      html  css  js  c++  java
  • nodejs-7. mongoDB数据库

    MongoDB

    一、概念:

    1. 介绍: 是一个由C++语言编写的基于分布式文件存储的数据库

    2. 作用: 方便存取数据

    3. 下载和安装

      3.1下载
        64 bit :https://www.mongodb.com/download-center?jmp=nav#community
        32 bit:https://www.mongodb.org/dl/win32/
      3.2 安装
        双击一路下一步

    4. mongoDB图形化界面工具:RoboMongo ==> 下载官网 https://robomongo.org/

    5.术语介绍

      database 数据库
      collection 集合
      document 文档  ==>   json
      field 字段  ==> {name: 'xiaohigh'}

        ★ 文档字段允许的字段类型:

        String、Number、Date、Buffer、Boolean、Mixed、ObjectId、Array

    二、命令行操作

    ☆ bin 一般用来存放可执行命令,如  `/usr/bin /usr/local/bin`

    1. 创建文件夹  c:/data/db
    2. 启动数据库服务

      第一种情况:未配置环境变量
      命令行下进入 mongodb 的bin命令目录 ==> cd C:Program FilesMongoDBServer3.6in
      运行 mongod 命令  

          (1) 不指定数据存放位置,默认c:/data/db (需要提前创建db文件夹,否则出错) :  $ mongod
          (2) 指定存放位置,用--dbpath指定: $ mongod --dbpath=c:/data/db1

      第二种情况:配置环境变量

      已配置环境变量可以在任意文件夹处输入mongod创建数据库命令

      运行 mongod 命令  

          (1) 不指定数据存放位置,默认c:/data/db (需要提前创建db文件夹,否则出错) :  $ mongod 
          (2) 指定存放位置,用--dbpath指定,可以使用相对路径,在项目文件夹位置打开命令窗口: $ mongod --dbpath=./db

          

      ★ 配置环境变量步骤:

        (1) 找到mongoDB软件安装目录,找到bin文件夹,复制其绝对路径:

        

         (2) 计算机图标右键属性 --> 高级系统设置--> 环境变量 --> path编辑-->复制(1)的bin路径黏贴进去,记得英文状态分号隔开,最后确定。

        

    3. 连接数据库

      命令行下进入 mongodb 的命令目录  cd C:Program FilesMongoDBServer3.6in
      运行 mongo 命令
          mongo
          mongo 114.215.149.168
    4. 执行命令
      4.1 数据库
        切换数据库(不存在自动创建)  use dbname
        显示所有的数据库  show dbs
        显示当前的数据库  db
        删除数据库
          use dbname
          db.dropDatabase();
      4.2 集合
        创建集合  db.createCollection('users');
        查看所有集合  show collections
        删除集合  db.users.drop()
        修改名称  db.users.renameCollection('goods');
      4.3 文档
        插入文档
          db.users.insert({name:'xiaoming'})
          db.users.insertMany([
            {name: 'xiaoA'},
            {name: 'xiaoB'},
          ])
        获取当前集合的所有文档  db.users.find();
        删除文档  db.users.remove({name: 'xiaoA'});
        更新文档  db.users.update({name: 'xiaoB'}, {$set: {age: 30}} );
        查询文档
          条件
            等于  db.goods.find({id:100})
            小于  db.goods.find({id: {$lt: 100}})
            大于  db.goods.find({id: {$gt: 100}})
            小于等于  db.goods.find({id: {$lte: 100}})
            大于等于  db.goods.find({id: {$gte: 100}})
            不等于  db.goods.find({id:{$ne: 100}});
            模糊查询  db.goods.find({title: {$regex:/立领/}}).limit(5)
            逻辑与  db.goods.find({title: {$regex: /连衣裙/}, price: {$lt: 100}}); 

              (注意:逻辑与必须要安装顺序添加条件,比如说:price: {$gt: 50},price: {$lt: 100}) ,反之输出不正确。

            逻辑或  db.goods.find({$or: [{title:{$regex:/春季/}}, {price:{$gt:100}}]});
         字段筛选 :设定要读取的字段,_id主键是默认返回的,若不要:  _id:0
            db.goods.find({}, {title:1, _id: 0}).pretty();
         截取 : 一般用于分页效果
            db.goods.find().limit(5)
            db.goods.find().skip(5).limit(5)
         排序: 1是正序,-1是倒序
            db.goods.find().sort({id:-1})
            db.goods.find().sort({id:1})   
        格式化输出
            db.goods.find().pretty()

    三、mongoDB数据导出导入:

    导出命令: mongodump -d db6  -o "C: estdata"

    导入命令: mongorestore -d "db6-bak" C: estdata

    1、概述:mongoexport命令行用于数据的导出,默认导出的文件格式为JSON格式。当然也可以指定特定的文件格式(可导出为txt或csv)。

    2、语法  C:UsersxdlDesktopexpressmongooseDeno> mongoexport --help  

    说明:

    -h:数据库宿主机的IP

    -u:数据库用户名

    -p:数据库密码

    -d:数据库名字

    -c:集合的名字

    -f:导出的列名

    -q:导出数据的过滤条件

    --csv:导出格式为csv

    3. 进行导出操作,默认导出的是JSON格式的数据: mongoexport -d db6 -c articles -o ./data/articles.dat

     上述命令行:从db6数据库中导出集合为articles的数据,保存文件到当前data文件夹的articles.dat中。

    下面是导出csv格式的命令:mongoexport -d db6 -c articles -o ./data/articles.csv

    4.查看导出文件内容命令: type articles.dat

    5. 进行导入操作: mongoimport -d db7 -c articles --type csv --headerline --file articles.csv

  • 相关阅读:
    IIS7,iis6 管道模型及处理差异
    web相关基础知识4
    web相关基础知识3
    web相关基础知识2
    web相关基础知识1
    有关于PHP的基础知识
    软件工程课程建议
    结对编程-四则运算
    结对编程
    关于问卷调查的心得体会
  • 原文地址:https://www.cnblogs.com/xzsz/p/9544023.html
Copyright © 2011-2022 走看看