使用虛擬機在ubuntu下搭建mongod開發環境

jopen 9年前發布 | 40K 次閱讀 mongod Ubuntu

最近在折騰mongodb和nodejs,在imooc上找了一個mongodb的入門教程,跟著里面一步一步的走,下面記錄下我操作的步驟和遇到的問題。

課程地址:http://www.imooc.com/learn/295

一、使用VirtualBox安裝unbuntu,我用的是14.10的版本。

二、下載monogdb的源碼,網址是: http://www.mongodb.org/downloads

三、解壓并編譯源碼。

  • 解壓命令 tar -vxf mongodb-src-r2.8.0-rc5.tar
  • 編譯命令 scans all 。如果你的電腦cpu有多核心,你可以使用 scans all -j 核心數(如2、4等)來加快編譯的速度,我只用了一個核心,結果速度很慢。我主要想體驗下編譯的過程,你也可以直接下載編譯好的二進制文件。
  • </ul>

    四、編譯好的常用程序介紹。

    • mongod  -mongodb數據庫的執行程序,使用它進行數據庫的部署操作
    • mongo -用來連接mongodb數據庫的客戶端程序
    • mongoimport mongoexport -mongodb數據庫的導入導出
    • mongodump mongorestore -mongodb數據庫二進制文件的導入導出,常用于備份和恢復操作
    • </ul>

      五、搭建簡單的mongodb服務器

      • 創建目錄結構
         使用虛擬機在ubuntu下搭建mongod開發環境
      • 將mongod文件復制到bin目錄下:cp ../mongod-linux-x86_64-2.6.7/bin/mongod bin/
      • 創建配置文件mongod.conf:
        1 port = 12345 2 dbpath = data 3 logpath = log/mongod.log 4 fork = true
        其中,port是mongodb的端口號,dbpath是數據庫文件的存放路徑,data表示當前文件夾下的data目錄,logpath是日志文件的保存路徑,fork屬性表示是否后臺啟動
      • 執行mongod命令:./bin/mongod -f conf/mongod.conf
         使用虛擬機在ubuntu下搭建mongod開發環境 出現上述代碼,表示mongodb啟動成功
      • </ul>

        六、使用mongo客戶端連接mongoDB服務器

        • 拷貝mongo命令到bin目錄: cp ../mongod-linux-x86_64-2.6.7/bin/mongo bin/
        • 連接到mongoDB服務器test數據庫: ./bin/mongo 127.0.0.1:12345/test
           使用虛擬機在ubuntu下搭建mongod開發環境 出現下圖中的信息表示連接成功
        • 關閉數據庫
          use admin
          db.shutdownServer()

          </li> </ul>

          七、mongoDB的基本操作之數據寫入和查詢

          • 連接到數據庫后,可以查看下當前有哪些數據庫:show dbs
          • 切換到指定數據庫:use imooc
          • 查看當前數據庫下的集合 show tables
          • 刪除指定數據庫:db.dropDatabase()
          • 插入一條數據:db.imooc_collection.insert({x:1}) 其中imooc_collection是集合的名稱
          • 查找數據:db.imooc_collection.find() find中不傳任何參數會返回集合中所有數據
          • 統計當前數據集中的數據條數:db.imooc.collection.find().count()
          • 個性化查詢:跳過數據集中的前三條數據,返回兩條數據并按照x值正向排序 db.imooc_collection.find().skip(3).limit(2).sort({x:1})
          • </ul>

            八、mongoDB的基本操作之數據更新

            • 將x為2的數據更新為3:db.imooc_collection.update({x:2},{x:3})
            • 只更新指定的數據:db.imooc_collection.update({x:2}{$set:{x:3}})
            • 更新一條不存在的數據,默認不會有任何操作,如果想數據不存在時自動創建,則可以給update函數傳入第三個參數true,如:db.imooc_collection.update({x:2},{x:3},true)
            • update函數默認只會更新一條數據,如果想同時更新多條數據,則可以傳入第四個參數,并使用$set操作符,如:db.imooc_collection.update({x:2},{x:3},false,true)
            • </ul>

              九、mongoDB的基本操作之刪除數據

              • 刪除指定數據:db.imooc_collection.remove({x:2})
              • 刪除整個數據集:db.imooc_collection.drop()
              • </ul>

                十、索引

                • 查看當前數據集的索引:db.imooc_collection.getIndexes()
                • 創建單鍵索引:db.imooc_collection.ensureIndex({x:1}) 其中x的值表示索引的方向,1為正向,-1為負向
                • 索引種類:_id索引、單鍵索引、多鍵索引、復合索引、過期索引、全文索引、地理位置索引
                • 復合索引:db.imooc_collection.ensureIndex({x:1,y:2}) 當同時使用x和y查詢時,需要用到復合索引
                • 過期索引:是指在一段時間后后過期的索引。在索引過期后,相應的數據會被刪除。這適合存儲一些在一段時間之后會失效的數據,比如用戶的登錄信息、存儲的日志等。
                • 過期索引建立方法:db.imooc_collection.ensureIndex({x:1},{expireAfterSeconds:10}) 數據會在10秒后消失,但是此時間并不精確,數據庫會每60秒執行一次刪除操作
                • </ul> 原文  http://www.cnblogs.com/sollysong/p/4243165.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!