溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB數(shù)據(jù)庫—基礎語法

發(fā)布時間:2020-07-23 23:08:04 來源:網(wǎng)絡 閱讀:686 作者:SongpingWang 欄目:MongoDB數(shù)據(jù)庫

一、MongoDB 數(shù)據(jù)庫的特點及安裝

  • MongoDB 數(shù)據(jù)庫的特點
    • 面向文檔,模式自由
    • json數(shù)據(jù)模式(bson)(可以初略理解為字典)
    • 多級引索
    • 高可用復制集
    • 水平擴展
    • 跨平臺、多種語言接口
    • 弱事務類型
    • 大數(shù)據(jù)、高并發(fā)、弱事務的web2.0互聯(lián)網(wǎng)應用。
    • 優(yōu)點:弱一致性,文檔格式存儲方式,內(nèi)置gridFS(分布式文件系統(tǒng))
    • 缺點:不支持事務,空間占用大
  • MongoDB 數(shù)據(jù)庫的安裝
    • 安裝:一路點擊next,finish
    • 配置環(huán)境變量:將bin目錄配置到環(huán)境變量中
    • 執(zhí)行:cmd>mongod –v?? ?????(測試環(huán)境變量是否配置好)
    • 新建如下文件夾(文件路徑如下:)
    • 1 新建data文件夾
    • 2 新建 log 文件夾
    • 3 新建 mongo.conf 文件
    • 4 新建 mongo.cfg 文件(log文件夾下)
      文件路徑:
      Server
      |----3.7
            |----bin
            |----data
            |----log
                  |----mongo.cfg
                  |----mongo.conf
    • 編輯 mongo.conf 文件(添加如下內(nèi)容)
dbpath=C:\Program Files\MongoDB\Server\3.6\data ????????????           #數(shù)據(jù)庫路徑 軟件安裝目錄(我的是默認目錄)  
??? logpath=C:\Program Files\MongoDB\Server\3.6\log\mongo.cfg ????#日志輸出文件路徑   
??? logappend=true ??#錯誤日志采用追加模式    
????journal=true ?????  #啟用日志文件,默認啟用    
????quiet=true ???????  ?#這個選項可以過濾掉一些無用的日志信息,若需要調(diào)試使用請設置為false    
????port=27017 ???????#端口號 默認為27017
  • 安裝MongoDB服務:(cmd以管理員身份執(zhí)行)
    mongod --config "C:\Program Files\MongoDB\Server\3.6\mongo.conf" --install --serviceName "MongoDB"
    啟動服務:cmd 管理員方式啟動>net start MongoDB

二、基本語法:

MongoDB常見數(shù)據(jù)類型
String:            最常用的儲存的數(shù)據(jù)類型。MongoDB中字符串必須是utf-8。
Integer:           用來儲存數(shù)值。(32位/64位)
Boolean:           儲存布爾值(true/false)
Double:             儲存浮點值。
Min/Max keys:       用來對Bson元素最低最高值比較。
Arrays:            使用此類型的數(shù)組/列表/多個值儲存到一個鍵
Timestamp:         時間戳。(方便記錄文件已被修改/添加)

Object:            用于嵌入式文件。
Null:              儲存null值。
symbol:            用于字符串相同,但它通常保留給特定符號類型的語言使用。
Date:              儲存當前日期/時間的Unix時間格式??梢灾付ㄗ约旱娜掌诤蜁r間/日期和年月日到創(chuàng)建對象。
ObjectID:          用于儲存文檔的ID。
Binary data :       儲存二進制數(shù)據(jù)。
Code:              用于儲存到文檔中的Javascript代碼。
regular expression: 用于儲存正則表達式
數(shù)據(jù)庫增刪改查
  • 創(chuàng)建庫 / 刪除庫 / 創(chuàng)建集合 / 刪除集合
創(chuàng)建庫:use db_name?????? #使用/創(chuàng)建數(shù)據(jù)庫(若不存在則創(chuàng)建該數(shù)據(jù)庫)
             db???????????????????????   #檢查當前選擇的數(shù)據(jù)庫
             show dbs????????????? #顯示當前有哪些數(shù)據(jù)庫
             show tables/show collections ?? ?#查看數(shù)據(jù)表

刪除庫 :? db.dropDatabase()?? ?#這將刪除選定的數(shù)據(jù)庫。如果沒有選擇任何數(shù)據(jù)庫,默認刪除Test數(shù)據(jù)庫。

創(chuàng)建集合:
        在mongodb里面沒有表的概念,集合(collections)就相當于傳統(tǒng)數(shù)據(jù)庫的表。
        語法:db.createCollection(name,option)?? ? 

        演示:
        >use test                                              # 進入該數(shù)據(jù)庫
        switched to db test
        >db.createCollection("mycollection")    # 創(chuàng)建myCollection 集合
        {"ok",1}
        >show collections                                 # 檢查創(chuàng)建集合的命令
        mycollection
        system.indexes 

        刪除集合
        ?>use mydb                                            #檢查可用的集合在數(shù)據(jù)庫 mydb
        switched to db mydb
        >show collections                                  #檢查集合
                mycol
                mycollection
        >db.mycollection.drop()                      ?? #刪除集合
        true

        drop()方法返回true,成功丟棄;否則返回false

        >show collections                        #再次檢查數(shù)據(jù)庫中集合列表
            mycol
        system.indexes
        yiibai
  • MongoDB插入文檔(Insert() / save方法)
語法:insert基本語法如:  >db.COLLECTION_NAME.insert(document)
db.mycol.insert({
                            title:        'MongoDB Overview',
                            description:'MongoDB id no sql database',
                            by:            'tutorials yiibai',
                            url:        'http://www.yiibai.com',
                            tags:        ['mongodb','database','NoSQL'],
                            like:        100
                            })
db.collection_name.find()????????????#顯示插入的數(shù)據(jù)

插入多個文檔 :?? db.mycol.insert([{},{}])
db.score.insert([{name:"張三",subject:"地理",score:88},
                               {name:"李四",subject:"語文",score:87}])
  • MongoDB更新文檔(update()/save()方法)
    updata()更新現(xiàn)有文檔值 / save()用于替換現(xiàn)有文檔值。
updata()基本語法如下:
>db.COLLECTION_NAME.update(selection_criteria,updated_data)

#mycol集合文件:
{"_id":ObjectID(4685481851451we55),"title":"MongoDB overview"}
{"_id":ObjectID(4685481851451we56),"title":"NoSQL overview"}
{"_id":ObjectID(4685481851451we57),"title":"tutorials overview"}

>db.mycol.update({"title":"MongoDB overview"},
{$set: {"title":"tutorials overview"}})                     #更新標題

>db.mycol.update({"title":"MongoDB overview"},
{$set: {"title":"tutorials overview"}},{multi:true})    #要實現(xiàn)多個更新在后面加{multi:true}
>db.mycol.find()                                                   #查詢插入的數(shù)據(jù)

save()方法?? ?替換現(xiàn)有符合此ID文檔的所有數(shù)據(jù)
>db.collection_name.save({id.ObjectID(),new_data})
db.mycol.save({"_id":ObjectID(5689745956adf56as7),
                        "title":"yiibai new topic",
                        "by":"yiibai"})
>db.mycol.find()                                        #查詢插入的數(shù)據(jù)
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI