亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MongoDB教程之入門基礎知識

 更新時間:2015年05月05日 08:36:41   投稿:junjie  
這篇文章主要介紹了MongoDB教程之入門基礎知識,本文講解了文檔的注意事項、使用多個集合的必要性、集合的命名注意事項、數(shù)據(jù)庫、MongoDB的啟動、Shell的使用小技巧等內(nèi)容,需要的朋友可以參考下

一、文檔的注意事項:

1.  鍵值對是有序的,如:{ "name" : "stephen", "genda" : "male" } 不等于 { "genda" : "male", "name" : "stephen" }
2.  文檔信息是大小寫敏感的,如:{ "name" : "stephen" } 不等于 { "Name" : "stephen" }
3.  文檔信息是區(qū)分類型的,如:{ "age" : 30 } 不等于 { "age" : "30" }
4.  文檔中不能出現(xiàn)重復鍵,如:{ "name" : "stephen", "name" : "liu" }

二、使用多個集合的必要性:

1.  如果把各種模式的文檔存放在一個集合中,對于開發(fā)者來說是非常災難的。因為在獲取到查詢結(jié)果之后,就需要手工編寫代碼過濾不同類型的文檔了。
2.  會使查詢效率降低。試想一下,假設某個模式的文檔的數(shù)據(jù)量相對較少,如果仍然將其放到一個通用的大集合中,其查詢效率勢必會大大低于將其放到獨立的集合中。
3.  在創(chuàng)建索引時,如果所有的文檔均為同一模式,那么索引的利用率將會更加高效。

三、集合的命名注意事項:
1.  集合名不能是空字符串""。
2.  不要以system開頭,這一般是為系統(tǒng)保留的,如system.users集合中保存了數(shù)據(jù)庫的用戶信息,而system.namespace集合中保留了數(shù)據(jù)庫集合的信息。
3.  不要在集合名里面包含'$'字符。
4.  子集合只是一種較好的集合規(guī)劃方式,如blog.posts和blog.anthurs,實際上它們和blog集合之間沒有任何關系,甚至blog集合可以不存在。

四、數(shù)據(jù)庫:

在同一個MongoDB服務器中可以存在多個數(shù)據(jù)庫,每個不同的數(shù)據(jù)庫存儲在不同的文件中。又由于數(shù)據(jù)庫名和文件名是綁定的,因此數(shù)據(jù)庫名會有一些限制。
1.  不能是空字符""。
2.  全部小寫且不超過64字節(jié)。
3.  不得含有文件名命名中的非法字符。
4.  admin數(shù)據(jù)庫是管理數(shù)據(jù)庫,如果某個用戶位于該數(shù)據(jù)庫中,他將自動繼承所有數(shù)據(jù)庫權限。一些特定的服務器命令也只能從這個數(shù)據(jù)庫運行。
5.  local這個數(shù)據(jù)庫永遠不會被復制,只是用于存儲限于本地單臺服務器的任意集合。
6.  數(shù)據(jù)庫名.集合名,表示該集合的完全限定名,其長度不要超過121自己。

五:MongoDB的啟動:

1.  直接執(zhí)行mongod即可,在沒有任何命令行參數(shù)的情況下,服務器的主機中必須包含/data/db目錄,對于Windows而言,其缺省目錄則為服務程序所在驅(qū)動器的\data\db。如D盤,則為D:\data\bin。缺省監(jiān)聽端口為27017。
2.  MongoDB自帶了一個JavaScript Shell,可以從命令行與MongoDB交互。如:mongo。這個Shell工具可以直接執(zhí)行簡單的數(shù)學運算。如:

復制代碼 代碼如下:

    > x = 200
    200
    > x /5
    40
    --還可以調(diào)用JavaScript的標準庫。
    > new Date("2012/05/05")
    ISODate("2012-05-04T16:00:00Z")
    > "Hello World".replace("World", "MongoDB")
    Hello MongoDB
    --定義和調(diào)用自定義的JavaScript函數(shù)。
    > function factorial(n) {
    ... if (n <= 1) return 1
    ... return n * factorial(n - 1)
    ... }
    > factorial(5)
    120

3.  在Shell客戶端插入MongoDB的文檔,如:

復制代碼 代碼如下:

    > post = { "title" : "my blog post", "content" : "Here's my blog", "date" : new Date() }
    {
         "title" : "my blog post",
         "content" : "Here's my blog",
         "date" : ISODate("2012-06-04T07:38:51.345Z")
    }
    > db.blog.insert(post)
    > db.blog.find()
    { "_id" : ObjectId("4fcc661de4bcbac15b3d9e3a"), "title" : "my blog post", "content" : "Here's my blog",
    "date" : ISODate("2012-06-04T07:38:51.345Z") }

4.  在Shell客戶端查詢文檔,如:

復制代碼 代碼如下:

    > db.blog.findOne()
    {
         "_id" : ObjectId("4fcc661de4bcbac15b3d9e3a"),
         "title" : "my blog post",
         "content" : "Here's my blog",
         "date" : ISODate("2012-06-04T07:38:51.345Z")
    }

5.  在Shell中更新文檔,如:

復制代碼 代碼如下:

    --需要先更新post變量的內(nèi)容,即先增加了一個comments的鍵,其值為空數(shù)組。
    > post.comments = []
    [ ]
    --update的第一個參數(shù)是條件,第二個參數(shù)是待更新的值。
    > db.blog.update({ "title" : "my blog post"}, post)
    > db.blog.findOne()
    {
         "_id" : ObjectId("4fcc661de4bcbac15b3d9e3a"),
         "title" : "my blog post",
         "content" : "Here's my blog",
         "date" : ISODate("2012-06-04T07:38:51.345Z"),
         "comments" : [ ]
    }

6.  在Shell客戶端中刪除,如:
復制代碼 代碼如下:

    --如果remove中沒有條件,則清除集合中的全部數(shù)據(jù)。
    > db.blog.remove( { title:"my blog post"})
    > db.blog.findOne()
    null

六、Shell的使用小技巧:
復制代碼 代碼如下:

    > show dbs  --顯示數(shù)據(jù)庫名。
    > show collections --顯示集合名
    > show users --顯示用戶名
    > db.help()  --列出數(shù)據(jù)庫的方法。
    > db.blog.help() --列出blog集合上的方法。
    > db.blog.update --可以直接看update方法的JavaScript實現(xiàn)代碼。

您可能感興趣的文章:

相關文章

  • mongodb replica set 添加刪除節(jié)點的2種方法

    mongodb replica set 添加刪除節(jié)點的2種方法

    replica set多服務器主從,添加,刪除節(jié)點,肯定會經(jīng)常遇到的。下面詳細說明一下,添加,刪除節(jié)點的2種方法。
    2014-07-07
  • MongoDB單表數(shù)據(jù)的導出和恢復實例講解

    MongoDB單表數(shù)據(jù)的導出和恢復實例講解

    MongoDB 是一個跨平臺的,面向文檔的數(shù)據(jù)庫,提供高性能,高可用性和可擴展性方便。 MongoDB 工作在收集和文件的概念。接下來通過本文給大家介紹MongoDB單表數(shù)據(jù)的導出和恢復實例講解,對mongodb導出和恢復數(shù)據(jù)知識感興趣的朋友一起學習吧
    2016-03-03
  • MongoDB中如何使用JOIN操作詳解

    MongoDB中如何使用JOIN操作詳解

    相信大家都知道m(xù)ongodb是不支持join操作的,因此我們只能自己來實現(xiàn)這個功能。所以下面這篇文章主要給大家介紹了關于在MongoDB中如何使用JOIN操作的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 關于Mongodb 認證鑒權你需要知道的一些事

    關于Mongodb 認證鑒權你需要知道的一些事

    最近因為mongodb被黑了,早先我就疑惑過怎么這東西開啟服務就能用了,后來找了各方資料,知道MongoDB默認是沒有鑒權的,所以這篇文章主要給大家介紹了關于Mongodb認證鑒權你需要知道的一些事,需要的朋友可以參考下。
    2017-10-10
  • MongoDB性能篇之創(chuàng)建索引,組合索引,唯一索引,刪除索引和explain執(zhí)行計劃

    MongoDB性能篇之創(chuàng)建索引,組合索引,唯一索引,刪除索引和explain執(zhí)行計劃

    這篇文章主要介紹了MongoDB性能篇之創(chuàng)建索引,組合索引,唯一索引,刪除索引和explain執(zhí)行計劃的相關資料,需要的朋友可以參考下
    2016-02-02
  • MongoDB 簡單入門教程(安裝、基本概念、創(chuàng)建用戶)

    MongoDB 簡單入門教程(安裝、基本概念、創(chuàng)建用戶)

    這篇文章主要介紹了MongoDB 簡單入門教程(安裝、基本概念、創(chuàng)建用戶)的相關資料,幫助大家更好的理解和學習使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-03-03
  • MongoDB查詢之高級操作詳解(多條件查詢、正則匹配查詢等)

    MongoDB查詢之高級操作詳解(多條件查詢、正則匹配查詢等)

    這篇文章主要給大家介紹了關于MongoDB查詢之高級操作(多條件查詢、正則匹配查詢等)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • MongoDB索引使用詳解

    MongoDB索引使用詳解

    索引,使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結(jié)構,例如 employee 表的姓名(name)列。如果要按姓查找特定職員,與必須搜索表中的所有行相比,索引會幫助您更快地獲得該信息。
    2016-01-01
  • mongodb索引知識_動力節(jié)點Java學院整理

    mongodb索引知識_動力節(jié)點Java學院整理

    這篇文章給大家介紹了mongodb索引的建立,刪除索引的方法以及唯一索引和組合索引的知識,感興趣的朋友一起看看吧
    2017-08-08
  • mongodb 修改器($inc/$set/$unset/$push/$pop/upsert)

    mongodb 修改器($inc/$set/$unset/$push/$pop/upsert)

    對于文檔的更新除替換外,針對某個或多個文檔只需要部分更新可使用原子的更新修改器,能夠高效的進行文檔更新。更新修改器是中特殊的鍵
    2017-04-04

最新評論