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 Files\MongoDB\Server\3.6\bin
  运行 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 Files\MongoDB\Server\3.6\bin
  运行 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:\testdata"

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

 

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

2、语法  C:\Users\xdl\Desktop\express\mongooseDeno> 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

 

 

 

 

posted @ 2018-08-27 18:32  心之所在无畏无惧  阅读(270)  评论(0编辑  收藏  举报