日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB学习之路(三)

發(fā)布時間:2025/5/22 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB学习之路(三) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)據(jù)庫

一個MongoDB可以建立多個數(shù)據(jù)庫。

MongoDB的默認(rèn)數(shù)據(jù)庫為"db",該數(shù)據(jù)庫存儲在data目錄中。

MongoDB的單個實(shí)例可以容納多個獨(dú)立的數(shù)據(jù)庫,每一個都有自己的集合和權(quán)限,不同的數(shù)據(jù)庫也放置在不同的文件中。

show dbs可以顯示所有的數(shù)據(jù)列表。

db可以顯示當(dāng)前數(shù)據(jù)庫對象或集合。

use可以連接到一個指定的數(shù)據(jù)庫

數(shù)據(jù)庫名字的命名規(guī)范

  • 不能是空字符串("")
  • 不得含有''(空格)、 .、 $、 /、 ?和 \0(空字符)。
  • 應(yīng)全部小寫
  • 最多64個字節(jié)。

有一些數(shù)據(jù)庫名字是保留的,可以直接訪問這些有特殊作用的數(shù)據(jù)庫。

  • admin: 從權(quán)限的角度來看,這時"root"數(shù)據(jù)庫。要是將一個用戶添加到這個數(shù)據(jù)庫,這個用戶自動繼承所有數(shù)據(jù)庫的權(quán)限。一些特定的服務(wù)器端命令只能從這個數(shù)據(jù)庫運(yùn)行,比如列出所有的數(shù)據(jù)庫或關(guān)閉服務(wù)器。
  • local:這個數(shù)據(jù)庫永遠(yuǎn)不會被復(fù)制,可以用來存儲限于本地單臺服務(wù)器的任意集合。
  • config: 當(dāng)Mongo用于分片設(shè)置時,config數(shù)據(jù)庫在內(nèi)部使用,用于保存分片的相關(guān)信息。

RDBMS與MongoDB之間的異同

RDBMSMongoDB
數(shù)據(jù)庫數(shù)據(jù)庫
表格集合
文檔
字段
表聯(lián)合嵌入文檔
主鍵主鍵(MongoDB提供了key為_id)

文檔

需要注意的是:

  • 文檔中鍵值對是有序的。
  • 文檔中的值不僅可以是在雙引號里面的字符串,還可以是其他幾種數(shù)據(jù)類型(甚至可以是整個嵌入的文檔)。
  • MongoDB區(qū)分類型和大小寫。
  • MongoDB的文檔中不能有重復(fù)的鍵。
  • 文檔的鍵是字符串。除了少數(shù)例外情況,鍵可以使用任意的UTF-8字符。
  • 文檔鍵命名規(guī)范:

  • 鍵不能含有\(zhòng)0(空字符)。這個字符用來表示鍵的結(jié)尾。
  • .和$有特別的意義,只有在特定環(huán)境下才能使用。
  • 一下劃線"_"開頭的鍵是保留的(不是嚴(yán)格要求的)。
  • 集合

    集合就是MongoDB文檔組,類似于RDBMS中的table。

    集合存在于數(shù)據(jù)庫中,集合沒有固定的結(jié)構(gòu),這意味著你在對集合可以插入不同格式和類型的數(shù)據(jù),但通常情況下我們插入集合的數(shù)據(jù)都有一定的關(guān)聯(lián)性。

    一旦一個文檔被插入時,集合就會被創(chuàng)建。

    合法的集合名

    • 集合名不能是空字符串""。
    • 集合名不能含有\(zhòng)0字符(空字符),這個字符表示集合名的結(jié)尾。
    • 集合名不能以"system."開頭,這是為系統(tǒng)集合保留的前綴。
    • 用戶創(chuàng)建的集合名字不能含有保留字符。

    元數(shù)據(jù)

    數(shù)據(jù)庫的信息是存儲在集合中。它們使用了系統(tǒng)的命名空間:

    dbname.system.*

    在MongoDB數(shù)據(jù)庫中名字空間.system.*是包含多種系統(tǒng)信息的特殊集合(Collection),如下:

    集合命名空間描述
    dbname.system.namespaces列出所有名字空間
    dbname.system.indexes列出所有索引
    dbname.system.profile包含數(shù)據(jù)庫概要(profile)信息
    dbname.system.users列出所有可訪問數(shù)據(jù)庫的用戶
    dbname.local.sources包含復(fù)制對端(slave)的服務(wù)器信息和狀態(tài)

    MongoDB數(shù)據(jù)類型

    數(shù)據(jù)類型描述
    String字符串。存儲數(shù)據(jù)常用的數(shù)據(jù)類型。在MongoDB中,UTF-8編碼的字符串才是合法的
    Integer整型字符。用于存儲數(shù)據(jù)。根據(jù)你所采用的服務(wù)器,可分為32位或64位。
    Boolean布爾值。用于存儲布爾值
    Double雙精度浮點(diǎn)值。用于存儲浮點(diǎn)值。
    Min/Max keys將一個值與BSON(二進(jìn)制的JSON)元素的最低值和最高值相對比
    Arrays用于將數(shù)組或列表或多個值存儲為一個鍵
    Timestamp時間戳。用于記錄文檔修改或添加的具體實(shí)踐
    Object用于內(nèi)嵌文檔。
    Null用于創(chuàng)建空值
    Symbol符號。該數(shù)據(jù)類型基本上等同于字符串類型,但不同的是,它一般用于采用特殊符號類型的語言。
    Date日期時間。用Unix時間格式來存儲當(dāng)前日期或時間。你可以指定自己的日期時間:創(chuàng)建Date對象,傳入年月日信息。
    Object ID對象ID。用于創(chuàng)建文檔的ID。
    Binary Data二進(jìn)制數(shù)據(jù)。用于存儲二進(jìn)制數(shù)據(jù)。
    Code代碼類型。用于在文檔中存儲JavaScript代碼
    Regular expression正則表達(dá)式類型。用于存儲正則表達(dá)式

    by 一枝豬

    轉(zhuǎn)載于:https://www.cnblogs.com/chunzhulovefeiyue/p/7243098.html

    總結(jié)

    以上是生活随笔為你收集整理的MongoDB学习之路(三)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。