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:\SoftInstall\mongodb,請注意,我的bin目錄是:D:\SoftInstall\mongodb\bin,注意自己的bin目錄是否和我的相同

2、配置(請用管理員權限打開cmd,並切換到mongodb安裝的文件夾,如:cd /d D:\SoftInstall\mongodb\bin):

1)創建一個目錄用於保存MongoDB的日志文件:md D:\SoftInstall\mongodb\log,然后增加配置:echo logpath=D:\SoftInstall\mongodb\log\mongo.log > D:\SoftInstall\mongodb\mongod.cfg

2)創建數據庫和日志文件的目錄:md D:\softInstall\mongodb\data\db,然后增加配置:mongod --config D:\SoftInstall\mongodb\mongod.cfg --dbpath D:\SoftInstall\mongodb\data\db\ --install

3、安裝和運行mongodb:

1)安裝mongodb服務:mongod.exe --config D:\SoftInstall\mongodb\mongod.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:\SoftInstall\mongodb\mongod.cfg,看下是否加上配置:dbpath=D:\SoftInstall\mongodb\data\db\,沒有,請手動加上。

  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_log\mongodb.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/})  //模糊查詢 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM