《MongoDB的一些基本操作》要點:
本文介紹了MongoDB的一些基本操作,希望對您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:非關(guān)系型數(shù)據(jù)庫
維易PHP培訓學院每天發(fā)布《MongoDB的一些基本操作》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
闡明:文章所有內(nèi)容均截選自實驗樓教程【MongoDB 基礎(chǔ)教程】,感興趣的點擊教程即可學習完整教程~
涉及知識點:
MongoDB 觀點
數(shù)據(jù)庫根本操作
集合根本操作
本教程只介紹了 MongoDB 的基礎(chǔ)知識,其相關(guān)的安裝配置等并未涉及,如有必要可參考 MongoDB環(huán)境配置教程.
MongoDB 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當中功能最豐富,最像關(guān)系數(shù)據(jù)庫的.它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似 json 的 bson 格式,因此可以存儲比擬復雜的數(shù)據(jù)類型.
1 面向集合的存儲
在 MongoDB 中,一個數(shù)據(jù)庫包括多個集合,類似于 MySQL 中一個數(shù)據(jù)庫包括多個表;一個集合包括多個文檔,類似于 MySQL 中一個表包括多條數(shù)據(jù).
2 虛擬機開機配置
啟動 MongoDB 服務(wù),因為 MongoDB 并不隨系統(tǒng)一起啟動,可能以下命令運行后會等一小段的光陰才會啟動完畢.
$ sudo service mongodb start
進入 MongoDB 命令行操作界面(可能會呈現(xiàn) connect failed,多試幾次就行),在命令行中敲exit可以退出.
$ mongo
實驗中的布爾類型的 ture 用1取代,false 用0取代.
1 數(shù)據(jù)庫
一個 MongoDB 可以創(chuàng)立多個數(shù)據(jù)庫
使用 show dbs 可以查看所有數(shù)據(jù)庫的列表
執(zhí)行 db 命令則可以查看當前數(shù)據(jù)庫工具或者集合
運行 use 命令可以連接到指定的數(shù)據(jù)庫
$ mongo #進入到mongo命令行> use test #連接到test數(shù)據(jù)庫
注意:數(shù)據(jù)庫名可以是任何字符,但是不克不及有空格、點號和$字符
2 文檔
文檔是 MongoDB 的核心,類似于 SQLite 數(shù)據(jù)庫(關(guān)系數(shù)據(jù)庫)中的每一行數(shù)據(jù).多個鍵及其關(guān)聯(lián)的值放在一起便是文檔.在 Mongodb 中使用一種類 json 的 bson 存儲數(shù)據(jù),bson 數(shù)據(jù)可以理解為在 json 的基礎(chǔ)上添加了一些 json 中沒有的數(shù)據(jù)類型.
例:
{"company":"Chenshi keji"}
3 文檔的邏輯聯(lián)系
假設(shè)有兩個文檔:
{ "name": "Tom Hanks", "contact": "987654321", "dob": "01-01-1991"}#user文檔{ "building": "22 A, Indiana Apt", "pincode": 123456, "city": "chengdu", "state": "sichuan"}#address文檔
關(guān)系1:嵌入式關(guān)系,把 address 文檔嵌入到 user 文檔中
{ "name": "Tom Hanks", "contact": "987654321", "dob": "01-01-1991", "address": [{ "building": "22 A, Indiana Apt", "pincode": 123456, "city": "chengdu", "state": "sichuan" }, { "building": "170 A, Acropolis Apt", "pincode": 456789, "city": "beijing", "state": "beijing" }]}#這便是嵌入式的關(guān)系
關(guān)系2:引用式關(guān)系:將兩個文檔分開,通過引用文檔的_id字段來建立關(guān)系
{ "contact": "987654321", "dob": "01-01-1991", "name": "Tom Benzamin", "address_ids": [ ObjectId("52ffc4a5d85242602e000000") #對應(yīng)address文檔的id字段 ]}#這便是引用式關(guān)系
4 集合
集合便是一組文檔的組合,就相當于是關(guān)系數(shù)據(jù)庫中的表,在 MongoDB 中可以存儲不同的文檔結(jié)構(gòu)的文檔.
例:
{"company":"Chenshi keji"} {"people":"man","name":"peter"}
上面兩個文檔就可以存儲在同一個集合中.
5 元數(shù)據(jù)
數(shù)據(jù)庫的信息存儲在集合中,他們統(tǒng)一使用系統(tǒng)的定名空間:DBNAME.system.*
DBNAME 可用 db 或數(shù)據(jù)庫名替代
DBNAME.system.namespaces :列出所有名字空間
DBNAME.system.indexs :列出所有索引
DBNAME.system.profile :列出數(shù)據(jù)庫概要信息
DBNAME.system.users :列出拜訪數(shù)據(jù)庫的用戶
DBNAME.system.sources :列出服務(wù)器信息
1 創(chuàng)立數(shù)據(jù)庫
啟動服務(wù)后,進入 MongoDB 命令行操作界面:
$ mongo
使用 use 命令創(chuàng)立數(shù)據(jù)庫:
> use mydb
查看當前連接的數(shù)據(jù)庫:
> db
查看所有的數(shù)據(jù)庫:
> show dbs
列出的所有數(shù)據(jù)庫中看不到 mydb 或者顯示 mydb(empty) ,因為 mydb 為空,里面沒有任何器械,MongoDB 不顯示或顯示 mydb(empty).
2 銷毀數(shù)據(jù)庫
使用 db.dropDatabase() 銷毀數(shù)據(jù)庫:
> use localswitched to db local> db.dropDatabase()
查看所有的數(shù)據(jù)庫:
> show dbs
1 創(chuàng)立集合
在數(shù)據(jù)庫 mydb 中創(chuàng)立一個集合
> use mydbswitched to db mydb> db.createCollection("users")
查看創(chuàng)立的集合:
> show collections
2 刪除集合
刪除集合的辦法如下:(刪除 users 集合)
> show collections> db.users.drop()
查看是否刪除勝利:
> show collections
1 使用 insert()
插入數(shù)據(jù)時,如果 users 集合沒有創(chuàng)立會自動創(chuàng)立.
> use mydbswitched to db mydb> db.users.insert([... { name : "jam",... email : "jam@qq.com"... },... { name : "tom",... email : "tom@qq.com"... }... ])
2 使用 save()
插入數(shù)據(jù)時,如果 users 集合沒有創(chuàng)立會自動創(chuàng)立.
> use mydb2switched to db mydb2> db.users.save([... { name : "jam",... email : "jam@qq.com"... },... { name : "tom",... email : "tom@qq.com"... }... ])
本節(jié)實驗介紹了 MongoDB 和集合的基本操作,在 MongoDB 中使用一種類 json 的 bson 存儲數(shù)據(jù),可以使用 use 創(chuàng)立和切換數(shù)據(jù)庫,show dbs 可以查看有哪些數(shù)據(jù)庫,dropDatabase 可以刪除數(shù)據(jù)庫,createCollection 可以創(chuàng)立集合,show collections 可以查看集合,insert() 和 save() 可以插入數(shù)據(jù).
文章所有內(nèi)容均截選自實驗樓教程【MongoDB 根基教程】,該教程實驗列表如下:
如果你想完整的學習MongoDB ,上實驗樓學習該教程即可哦,實驗樓還配有專門的實驗情況,讓你可以在網(wǎng)頁操作學習MongoDB~
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/10197.html