zoukankan      html  css  js  c++  java
  • mongoDB的配置以及运行

     干嘛的:数据库,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:datadb 即可

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

    三、运行路径配置:

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

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

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

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

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

    然后点击环境变量,如图:找到path再新建中添加路径:C:Program FilesMongoDBServer3.4in;

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

     然后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中文网。

  • 相关阅读:
    【BZOJ 4581】【Usaco2016 Open】Field Reduction
    【BZOJ 4582】【Usaco2016 Open】Diamond Collector
    【BZOJ 4580】【Usaco2016 Open】248
    【BZOJ 3754】Tree之最小方差树
    【51Nod 1501】【算法马拉松 19D】石头剪刀布威力加强版
    【51Nod 1622】【算法马拉松 19C】集合对
    【51Nod 1616】【算法马拉松 19B】最小集合
    【51Nod 1674】【算法马拉松 19A】区间的价值 V2
    【BZOJ 2541】【Vijos 1366】【CTSC 2000】冰原探险
    【BZOJ 1065】【Vijos 1826】【NOI 2008】奥运物流
  • 原文地址:https://www.cnblogs.com/sdcs/p/8352282.html
Copyright © 2011-2022 走看看