MongoDB數據庫—基礎語法
阿新 • • 發佈:2018-09-24
fin 類型 rip 環境變量 並發 目錄 表達式 adf 端口 一、MongoDB 數據庫的特點及安裝
- MongoDB 數據庫的特點
- 面向文檔,模式自由
- json數據模式(bson)(可以初略理解為字典)
- 多級引索
- 高可用復制集
- 水平擴展
- 跨平臺、多種語言接口
- 弱事務類型
- 大數據、高並發、弱事務的web2.0互聯網應用。
- 優點:弱一致性,文檔格式存儲方式,內置gridFS(分布式文件系統)
- 缺點:不支持事務,空間占用大
- MongoDB 數據庫的安裝
- 安裝:一路點擊next,finish
- 配置環境變量:將bin目錄配置到環境變量中
- 執行:cmd>mongod –v?? ?????(測試環境變量是否配置好)
- 新建如下文件夾(文件路徑如下:)
- 1 新建data文件夾
- 2 新建 log 文件夾
- 3 新建 mongo.conf 文件
- 4 新建 mongo.cfg 文件(log文件夾下)
文件路徑: Server |----3.7 |----bin |----data |----log |----mongo.cfg |----mongo.conf
- 編輯 mongo.conf 文件(添加如下內容)
dbpath=C:\Program Files\MongoDB\Server\3.6\data ???????????? #數據庫路徑 軟件安裝目錄(我的是默認目錄) ??? logpath=C:\Program Files\MongoDB\Server\3.6\log\mongo.cfg ????#日誌輸出文件路徑 ??? logappend=true ??#錯誤日誌采用追加模式 ????journal=true ????? #啟用日誌文件,默認啟用 ????quiet=true ??????? ?#這個選項可以過濾掉一些無用的日誌信息,若需要調試使用請設置為false ????port=27017 ???????#端口號 默認為27017
- 安裝MongoDB服務:(cmd以管理員身份執行)
mongod --config "C:\Program Files\MongoDB\Server\3.6\mongo.conf" --install --serviceName "MongoDB" 啟動服務:cmd 管理員方式啟動>net start MongoDB
二、基本語法:
MongoDB常見數據類型
String: 最常用的儲存的數據類型。MongoDB中字符串必須是utf-8。 Integer: 用來儲存數值。(32位/64位) Boolean: 儲存布爾值(true/false) Double: 儲存浮點值。 Min/Max keys:用來對Bson元素最低最高值比較。 Arrays: 使用此類型的數組/列表/多個值儲存到一個鍵 Timestamp: 時間戳。(方便記錄文件已被修改/添加) Object: 用於嵌入式文件。 Null: 儲存null值。 symbol: 用於字符串相同,但它通常保留給特定符號類型的語言使用。 Date: 儲存當前日期/時間的Unix時間格式。可以指定自己的日期和時間/日期和年月日到創建對象。 ObjectID: 用於儲存文檔的ID。 Binary data : 儲存二進制數據。 Code: 用於儲存到文檔中的Javascript代碼。 regular expression: 用於儲存正則表達式
數據庫增刪改查
- 創建庫 / 刪除庫 / 創建集合 / 刪除集合
創建庫:use db_name?????? #使用/創建數據庫(若不存在則創建該數據庫)
db??????????????????????? #檢查當前選擇的數據庫
show dbs????????????? #顯示當前有哪些數據庫
show tables/show collections ?? ?#查看數據表
刪除庫 :? db.dropDatabase()?? ?#這將刪除選定的數據庫。如果沒有選擇任何數據庫,默認刪除Test數據庫。
創建集合:
在mongodb裏面沒有表的概念,集合(collections)就相當於傳統數據庫的表。
語法:db.createCollection(name,option)?? ?
演示:
>use test # 進入該數據庫
switched to db test
>db.createCollection("mycollection") # 創建myCollection 集合
{"ok",1}
>show collections # 檢查創建集合的命令
mycollection
system.indexes
刪除集合
?>use mydb #檢查可用的集合在數據庫 mydb
switched to db mydb
>show collections #檢查集合
mycol
mycollection
>db.mycollection.drop() ?? #刪除集合
true
drop()方法返回true,成功丟棄;否則返回false
>show collections #再次檢查數據庫中集合列表
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()????????????#顯示插入的數據
插入多個文檔 :?? db.mycol.insert([{},{}])
db.score.insert([{name:"張三",subject:"地理",score:88},
{name:"李四",subject:"語文",score:87}])
- MongoDB更新文檔(update()/save()方法)
updata()更新現有文檔值 / save()用於替換現有文檔值。
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}) #要實現多個更新在後面加{multi:true}
>db.mycol.find() #查詢插入的數據
save()方法?? ?替換現有符合此ID文檔的所有數據
>db.collection_name.save({id.ObjectID(),new_data})
db.mycol.save({"_id":ObjectID(5689745956adf56as7),
"title":"yiibai new topic",
"by":"yiibai"})
>db.mycol.find() #查詢插入的數據
MongoDB數據庫—基礎語法