MongoDB基本命令

來源:互聯網
上載者:User

標籤:

簡介:MongoDB[1]  是一個基於分布式檔案儲存體的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充的高效能資料儲存解決方案。

mongoDB 

MongoDB[2]  是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。他支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料類型。Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。

Distributed File System(Distributed File System)是指檔案系統管理的實體儲存體資源不一定直接連接在本地節點上,而是通過電腦網路與節點相連。Distributed File System的設計基於客戶機/伺服器模 式。一個典型的網路可能包括多個供多使用者訪問的伺服器。另外,對等特性允許一些系統扮演客戶機和伺服器的雙重角色。

HBase是一個分布式的、面向列的開來源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化資料的分布式儲存系統。

Yonghong Data Mart是基於自有技術研發的一款資料存放區、資料處理的軟體。Yonghong Data Mart的分布式檔案儲存體系統 (ZDFS)是在Hadoop HDFS基礎上進行的改造和擴充,將伺服器叢集內所有節點上儲存的檔案統一管理和儲存。

以上是對mongoDB的簡單介紹,通過介紹要使用MongoDB除了瞭解他的基本資料存放區,還要瞭解分布式系統如何部署,以及如何解決負載平衡問題。

以下內容是我閱讀了菜鳥教程進行的總結,主在熟悉基本命令,瞭解MongoDB功能特性等.

一. 基本使用以命令方式

  1. 資料庫建立

        use DATABASE_NAME

  1. 查看資料庫

  show dbsshow dbs

  1. 刪除資料庫

  db.dropDatabase()

 

  1. 插入文檔

db.user.insert({_id:1,name:’mybo’})

插入語句使用類似json的bson

  1. 更新已存在文檔

 db.collection.update(

   <query>,

   <update>,

   {

     upsert: <boolean>,

     multi: <boolean>,

     writeConcern: <document>

   }

)

參數說明:

  • query : update的查詢條件,類似sql update查詢內where後面的。
  • update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的
  • upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
  • multi : 可選,mongodb 預設是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。
  • writeConcern :可選,拋出異常的層級。

Exmple: db.col.update({‘title‘:‘MongoDB 教程‘},{$set:{‘title‘:‘MongoDB‘}},{multi:true})

 

 

  1. 替換文檔

    db.col.save({

"_id" : ObjectId("56064f89ade2f21f36b03136"),

     "title" : "MongoDB",

     "description" : "MongoDB 是一個 Nosql 資料庫",

     "by" : "Runoob",

     "url" : "http://www.runoob.com",

     "tags" : [

            "mongodb",

            "NoSQL"

     ],

     "likes" : 110

})

  1. 刪除文檔

  db.col.remove({‘title‘:‘MongoDB 教程‘})

  刪除第一條:db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

  1. 刪所有文檔
  2. db.col.remove({})
  3. 文檔查詢

db.col.find()//查詢所有

  1. 條件查詢例子

  db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鳥教程"},{"title": "MongoDB 教程"}]}).pretty()

  1. 條件操作符
  • (>) 大於 - $gt
  • (<) 小於 - $lt
  • (>=) 大於等於 - $gte
  • (<= ) 小於等於 - $lte
  1. 類型操作

$type操作符是基於BSON類型來檢索集合中匹配的資料類型,並返回結果。

  1. limit 限制兩條資料

  db.col.find({},{"title":1,_id:0}).limit(2)

{ "title" : "PHP 教程" }

{ "title" : "Java 教程" }

  1. 我們除了可以使用limit()方法來讀取指定數量的資料外,還可以使用skip()方法來跳過指定數量的資料,skip方法同樣接受一個數字參數作為跳過的記錄條數。

db.col.find({},{"title":1,_id:0}).limit(1).skip(1)

{ "title" : "Java 教程" }

  1. 排序

 db.COLLECTION_NAME.find().sort({KEY:1})//1 升序 2 降序

  1. 建立索引

  b.col.ensureIndex({"title":1})。

18. 彙總

        MongoDB中彙總(aggregate)主要用於處理資料(諸如統計平均值,求和等),並返回計算後的資料結果。有點類似sql語句中的 count(*)。

           db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])

{

   "result" : [

      {

         "_id" : "w3cschool.cc",

         "num_tutorial" : 2

      },

      {

         "_id" : "Neo4j",

         "num_tutorial" : 1

      }

   ],

   "ok" : 1

}

  1. Regex

db.posts.find({post_text:{$regex:"w3cschool.cc",$options:"$i"}})

以上是對mongoDB的命令列操作,但是對於程式員來說一些簡單命令操作可以方便我們使用,但是對於作為一個從事java開發人員來說我希望是熟練l瞭解在java如何調用。

 

 

 

 

 

 

 

 

 

 

 

MongoDB基本命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.