干嘛的:数据库,nosql(非关系型)
   场景:解决大规模数据集合多重数据种类

一、mongoDb安装:

下载地址: https://www.mongodb.com/download-center

上面这个地址是官方地址,有时打不开,如果打不开可以进入这个网址下载,这个网址包含了mongoDB历来的版本和最新版本;地址:http://dl.mongodb.org/dl/win32/x86_64

下载过后如图所示:

然后点击进行安装,直接一直下一步就可以了。

二、指定数据存储目录:

第一次启动mongoDB时需要指定一下路径,否则会报错。

先建立一个data文件,再data文件内建立一个db文件(可以再任意盘符下c盘/d盘/e盘,最好是在根目录下,太深容易报错);

我c盘比较大,其它盘都满了,就建立在c盘了。建议建立在d盘根目录下。

打开命令行,找到mongod.exe的路径,运行mongod.exe.

然后运行mongod --dbpath  C:\data\db 即可

如果data\db文件出现下图所示,说明指定存储路径成功。

三、运行路径配置:

运行服务端,启动数据库服务,找到指定的路径,系统默认的安装路径是:C:\Program Files\MongoDB\Server\3.4\bin;找到路径点击运行mongod.exe即可;

运行客户端点击mongo.exe即可。

如果不想每次运行时都去找mongod.exe的路径(毕竟很麻烦)我们可以进行配置,下次在运行是只需要在命令行输入mongod(服务端);再打开一个命令窗口输入mongo(客户端)。我现在以windows10为例进行路径配置,其实windows7更加的简单。步骤:我的电脑-->高级系统设置(系统设置)-->环境变量-->path添加C:\Program Files\MongoDB\Server\3.4\bin即可。

如图:再电脑界面找到windows(c)图标,点击进入再点此电脑,如图所示点击系统设置。

进入系统设置,如图再点击高级系统设置,就会弹出系统属性弹框

然后点击环境变量,如图:找到path再新建中添加路径:C:\Program Files\MongoDB\Server\3.4\bin;

然后一直确定关闭弹窗即可。

然后windows键+R输入cmd,打开命令行,输入mongod即可运行服务端;

默认端口号是27017,说明服务器端链接成功;在重新打开一个命令行输入mongo运行客户端;

如图所示说明客户端连接成功。到此为止mongoDB配置完成。

四、简单API操作

 1、库操作:
          查: show dbs
              db 查看当前库
          建+使用(切换过去):    use 库名    没有建,有就切换
          删: db.dropDatabase()  删除当前库
   2、集合(表)操作:
          建:db.createCollection('表名',{配置})
              配置:{size:文件大小,capped:true,max:条数|文档数} capped定量
          查:show collections / db.getCollectionNames()
              db.集合.isCapped() true/false 查询集合是否是定量的
          删:db.集合.drop()
   3、文档(row)操作:
          增:
              db.集合.save({}) / db.集合.insert({})  添加一条
              db.集合.save([{},{}]) / db.集合.insert([{},{}])
              insert  不会替换相同ID    save会替换
          删:
              db.集合.deleteOne({}) 删除的是第一条
              db.集合.deleteOne({要删数据描述}) 删除的是符合描述第一条
              db.集合.remove({},true)  一条
              db.集合.remove({要删数据描述}) 多条
              db.集合.remove({}) 清空表
          改:
              db.集合.udpate({要替换的数据},{替换后的},bl插入,bl全修改)
              替换后的:
                  {$set:{数据},$inc:{age:1}}
          查:
              所有:db.集合.find(条件)
              条数: db.集合.find().count()
              去重:db.集合.distinct(key) 查key

  条件
                  {age:22}        age == 22
                  {age:{$gt:22}}    age > 22
                  {age:{$lt:22}}    age < 22
                  {age:{$gte:22}}    age>=22
                  {age:{$lte:22}}    age<=22
                  {age:{$lte:122,$gte:22}}    age<=122 && age>=22
                  {$or:[{age:22},{age:122}]}    22 or 122
                  {key:value,key2,value2}  value && value2
                  {name:/正则/}

  db.集合.find({条件},{指定要显示列区域})
                  指定要显示列区域: 区域名username:1 显示着个区域,其他不显示
                  指定要显示列区域: 区域名username:0 不显示着个区域,其他显示
                  _id 是默认显示
              限定:
                  db.集合.find().limit(number)  限定
                  db.集合.find().skip(number)    跳过
                  db.集合.findOne() / db.集合.find().limit(1)  查询第一条
          排:
              升:db.集合.find().sort({key:1})
              降:db.集合.find().sort({key:-1})
          db.集合.find({条件},{指定显示区域}).skip(页码*一页条数).limit(一页条数).sort({key:1})

五、nodejs + mongodb

    1.    require('mongodb'); 引入模块 需要npm安装

     2.    创建客户端    mongoCt = mongodb.MongoClient

    3.    链接库    mongoCt.connect('协议://地址:端口/库名',回调(err,db))
            db 库对象
        4.    链接集合(表)    user = db.collection('集合名');
        5.    user.API()  表操作        返回 对象
            user.API().toArray((err,result)=>{reulst==arr})

六、mongoDB和mysql对比

    名词
            mysql                             mongoDb
            database(库)                   database(库)
            table(表)                         collection(集合)
            row(一条数据)                  document(文档)
            column(字段)                   field(区域)
            ...

     存储方式:
            mysql 二维表
            MongoDB json

更多文档可以查看MongoDB中文网。

最新文章

  1. 基于socket的客户端和服务端聊天简单使用 附Demo
  2. Python自动化 【第八篇】:Python基础-Socket编程进阶
  3. 【原创】pads2007 Layout 电气连接性检查过孔显示错误
  4. mysql概要(十二)事务
  5. python核心编程第六章练习6-8
  6. HDU 5335 Walk Out (BFS,技巧)
  7. HTML1网页三部份内容
  8. linux yum安装mongodb
  9. python词云的制作方法
  10. UVA850【简单模拟】
  11. 最详细的C++对应C#的数据类型转换
  12. 最短路模板(SPFA POJ2387)
  13. PySpider HTTP 599: SSL certificate problem错误的解决方法
  14. 【Python】python3.6中实现同一行动态输出
  15. Ring3创建事件Ring0设置事件
  16. restful framework之频率组件
  17. 【Python】Python 打印和输出更多用法。
  18. C#中判断系统的架构(32位,还是64位)
  19. zabbix自动发现与自动注册及SNMP监控
  20. String类使用

热门文章

  1. escape、encodeURI和encodeURIComponent的区别
  2. 解决kali linux 开启ssh服务后连接不上的问题
  3. C++ 字符串的编码
  4. startup_MK64F12.s文件解析
  5. spring mvc 校验@NULL
  6. 使用 IIS 在 Windows 上托管 ASP.NET Core
  7. Route pattern cannot reference variable name more than once
  8. poj2299树状数组入门,求逆序对
  9. Python 3 官方文档学习(1)
  10. TCP连接的3次握手和4次挥手