• MongoDB笔记:windows环境安装及连接本地数据库


    下载MongoDB 2.4.9版

    mongodb官网下载:http://www.mongodb.org/downloads

    直接下载地址:http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.4.9.zip

    3.6高版本下载地址:https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.6.17.zip

    安装步骤:

    1、将下载的mongodb压缩包解压到对应文件夹,我的是:D:SoftInstallmongodb,请注意,我的bin目录是:D:SoftInstallmongodbin,注意自己的bin目录是否和我的相同

    2、配置(请用管理员权限打开cmd,并切换到mongodb安装的文件夹,如:cd /d D:SoftInstallmongodbin):

    1)创建一个目录用于保存MongoDB的日志文件:md D:SoftInstallmongodblog,然后增加配置:echo logpath=D:SoftInstallmongodblogmongo.log > D:SoftInstallmongodbmongod.cfg

    2)创建数据库和日志文件的目录:md D:softInstallmongodbdatadb,然后增加配置:mongod --config D:SoftInstallmongodbmongod.cfg --dbpath D:SoftInstallmongodbdatadb --install

    3、安装和运行mongodb:

    1)安装mongodb服务:mongod.exe --config D:SoftInstallmongodbmongod.cfg --install

    2)运行mongodb:net start mongodb(停止命令为:net stop mongodb)

    3)连接到mongodb:mongo

    4)创建用户:切换到admin:use admin,创建用户:db.addUser("admin","admin"); 查看用户:db.system.users.find();(注意:mongodb的语句后要加 ; 号)

    5)查看数据库:show dbs

    至此,mongodb安装完成,可以在可视化工具如MongoBooster中通过localhost连接到本地数据库

    PS:

    1、安装过程中可能出现的错误:

      1)net start mongodb出错:服务无法启动,发生系统错误1067。请打开配置文件D:SoftInstallmongodbmongod.cfg,看下是否加上配置:dbpath=D:SoftInstallmongodbdatadb,没有,请手动加上。

      2)通过工具连接,MongoError:auth fails错误:请在对应的集合加上用户,安装步骤3已经给出了切换数据库和创建用户的命令。

      3)出现类似:Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js的错误,在bin目录下运行:mongod.exe -logpath D:mongo_logmongodb.log -logappend -dbpath D:mongo_data -directoryperdb -serviceName MongoDB -remove,然后再按照安装步骤,重新安装MongoDB

    2、MongoDB查询语句:

      1)db.collection.drop();  // 删除集合

      2)db.messageDetail.find({});  // 查询集合

      3)db.messageDetail.find({"status":4});  // 根据字段查询

      4)db.messageDetail.find({"status":{ $ne : 4 }});  // "$lt", "$lte", "$gt", "$gte", "$ne"对应于"<", "<=", ">", ">=","!="

      5)db.messageDetail.find({"createTime" : {$lte:new Date(2017,10,26)}});  // 时间查询

      6)db.messageDetail.find({"$where":function () { if(this.count > 0) return true;}});  // 函数查询

      7)db.messageLogs.find({}).sort({"createTime":-1});  // 查询结果排序

      8)db.messageDetail.insert({_id:"terast",type:"type1",system:"test"});  // 插入

      9)db.messageDetail.find({"createdDate":{"$lte":new Date(Date.now() - 180000)}});  // 查询小于或等于当前时间三分钟之前的数据

      10)db.messageDetail.aggregate([{ $match: { status: 3 } },{ $group: { _id: "$projectId","time": {$last: "$updatedDate"}, lastVersionManager:{"$last": "$versionManager" } } }]);  // 分组查询

      11)db.messageDetail.aggregate([{"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}}])  // 多个字段分组查询,计算每个分组数

      12)db.dictateLoggerPO.aggregate([{"$group" : {_id:"$projectId"}}]).forEach(function(item){

          var count = db.dictateLoggerPO.find({projectId:item._id, "createdDate" : {"$gte":new Date(Date.now() - 2592000000)}}).count();
          if(count > 50){
            console.log("领域:" + item._id + "最近一个月的通过管控指令发布次数为:" + count);
            var deleteCount = db.dictateLoggerPO.find({projectId:item._id, "createdDate" : {"$lte":new Date(Date.now() - 2592000000)}}).count();
            db.dictateLoggerPO.deleteMany({projectId:item._id, "createdDate" : {"$lte":new Date(Date.now() - 2592000000)}});
            console.log("领域:" + item._id + "删除一个月以前的数据总数为:" + deleteCount)
          }
        });  // 分组聚合后,遍历,根据条件删除数据

      13)db.pizzaConfigPO.find({_id:/tps/})  //模糊查询 

  • 相关阅读:
    作用域链
    traceback
    mac安装sshpass
    awk
    bond
    sqlx
    svn
    JS对象合并方法
    echarts图形超出宽度限制范围
    笔记本连接4K显示器鼠标问题
  • 原文地址:https://www.cnblogs.com/wuzhiyuan/p/7986724.html
Copyright © 2020-2023  润新知