對于關系型數(shù)據(jù)庫,我們知道,數(shù)據(jù)庫中有多個表,數(shù)據(jù)表里有多行數(shù)據(jù)。而對于MongoDB來說,則是數(shù)據(jù)庫里有多個集合,集合里由多個文檔。

數(shù)據(jù)庫
MongoDB的數(shù)據(jù)庫概念和Mysql的差不多,每個數(shù)據(jù)庫都可以設置獨立的權限。
首先,我們來看如何創(chuàng)建數(shù)據(jù)庫,MongoDB對于數(shù)據(jù)庫名稱也是有限制的,只能使用數(shù)字或字母,另外數(shù)據(jù)庫名稱是區(qū)分大小寫的,一般的,我們都會使用小寫的。另外,有一些關鍵字也是不可以使用的,如:admin、config、local等。
在MongoDB中,不需要顯示的創(chuàng)建數(shù)據(jù)庫,只需要選擇use dbName即可,當數(shù)據(jù)庫不存在的時候,會自動為我們創(chuàng)建。
> use huoying switched to db huoying
當使用db命令時,會顯示當前使用的數(shù)據(jù)庫名。
> db huoying
查看當前所有數(shù)據(jù)庫,使用show dbs;
> show dbs; admin 0.000GB config 0.000GB huoying 0.000GB local 0.000GB
集合
MongoDB的集合類似于Mysql中的表,集合是有多個文檔組成的。但集合不像表那樣有字段的限制,集合下面的文檔可以是各種各樣。比如,一個集合下面可能有下面兩種文檔:
{"name":"gwx", "age" : 30},
{"id":1, "score":100}雖然,集合對文檔是沒有限制的,但是為了數(shù)據(jù)管理的方便,我們一般都將相關文檔放在一個集合里。
創(chuàng)建集合,分為直接創(chuàng)建和隱式創(chuàng)建。
# 顯示的創(chuàng)建集合
> db.createCollection('huoying')
{ "ok" : 1 }隱式創(chuàng)建集合,直接創(chuàng)建文檔時,若集合不存在,會先創(chuàng)建集合
文檔
最后,我們來看看文檔。文檔的數(shù)據(jù)類型類似于php中的關聯(lián)數(shù)據(jù)、或JavaScript中的對象。
注意,文檔是區(qū)分大小寫以及數(shù)據(jù)類型的。看下面例子:
# 下面兩個是不一樣的文檔,他們的數(shù)據(jù)類型不一樣
{"name":30}
{"name":"30"}
# 下面兩個是不一樣的文檔,鍵名不一樣
{"name":30}
{"NAME":30}新增文檔
使用命令db.集合名.insertOne(文檔數(shù)據(jù)),可以向指定集合插入一篇文檔。若該集合不存在時,則會隱式創(chuàng)建該集合。
> db.users.insertOne({"name":"gwx", "age":29})
{
"acknowledged" : true,
"insertedId" : ObjectId("5f0cfdbb7688816db4d031bc")
}
> db.users.find()
{ "_id" : ObjectId("5f0cfdbb7688816db4d031bc"), "name" : "gwx", "age" : 29 }
>修改文檔
使用update來更新文檔內容,update需要兩個參數(shù),第一個是限定條件,用來查找指定的文檔,第二個是新文檔的內容。
> db.users.update({name:"gwx"}, {name:"monkeyking", age:500})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("5f0cfdbb7688816db4d031bc"), "name" : "monkeyking", "age" : 500 }刪除文檔
使用remove來刪除文檔
> db.users.remove({age:500})
WriteResult({ "nRemoved" : 1 })
網頁名稱:通俗講解MongoDB數(shù)據(jù)庫、集合、文檔的概念
當前路徑:http://www.chinadenli.net/article28/cggijp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、服務器托管、網站收錄、商城網站、自適應網站、營銷型網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)