最近在學習mogodb,目前只是出於學習階段,還沒有在專案中實戰過,記錄一下下學習的總結。
----start----
基本概念:
1、文件--> 對應關聯式資料庫的行,也就是一條記錄。它比關聯式資料庫的行的功能要強大,更像是是某個具體的物件。文件以一種map的形式展現出來,當然value可以是任意的型別,也可以繼續是乙個文件(遞迴的定義)
2、集合--> 對應關聯式資料庫的表。但是它又是無模式的,即文件不要求一致。
基本操作:
1、顯示資料庫
show dbs
2、建立資料庫:
use yourdatebasename 這就建立了乙個資料庫。
不過你用show dbs,並不能顯示yourdatabasename,因為這個資料庫沒有任何操作。所以如果你直接離開,則本資料庫會被廢除。
如果你插入一條記錄,此時就可以通過show dbs看到對應的資料庫
如下:record =
db.yourdatebasename.yourtablename.insert(record)
這時使用show dbs就可以看到你的資料庫了
3、顯示資料庫
show collections。預設的包含system.indexes 表
4、建立集合:
因為mongodb中集合是無模式的,不像傳統的關係型資料庫是需要預先申明表包含哪些字段並且定義欄位的屬性。雖有無需預先定義。使用的時候直接插入。可以見上面的例子。
5、刪除集合
db.yourdatabasename.yourcollectionname.drop()
6、將文件插入集合
record =
db.yourdatabasename.yourcollectionname.insert(record)
7、刪除集合中的文件
db.yourdatabasename,yourcollectionname.remove()
會清空此集合中的所有文件
8、文件更新
mongo中的更新有兩種
一種是:用新的文件去替換舊的文件。【就是通過條件先將滿足條件的選出來該文件,修改完之後替換舊的文件】,個人不喜歡這種操作,違背了原子性啊。
另外一種:採用mongo的修改器對文件進行修改。
修改器列表:
8.1、「$set」修改器:用了指定乙個健的值。如果健不存在,就建立它。
example:
db.mymongodb.user.update(, })
「$unset」刪除某個健
example:
db.mymongodb.user.update(, })
8.2、「$inc」修改器用了增加已有的健的值,或者在鍵不存在的時候建立乙個健。
example:
db.mymongodb.user.update(, })
tips: $inc 只能用於整數,長整數和雙精度浮點數。其他數會導致失敗。
8.3、「$push」會向已有的陣列末尾加入乙個元素,要是沒有就會建立乙個新的陣列。
example:
db.mymongodb.user.update(,
})8.4、「$ne」not equal判定器,【判定給定的屬性不等於給定值】
example:
db.mymongodb.user.update(,
}) 8.5、「$addtoset」在不重複的情況下新增
example:
db.mymongodb.user.update(,
}) 8.6、「$each」陣列遍歷修改器
example: www.2cto.com
db.mymongodb.user.update(,
}})8.7、「$pop」修改器,從陣列中刪除任何一端刪除元素
example:
}從陣列末尾刪除乙個元素
}從陣列頭部刪除
8.8、陣列定位修改器
example:
db.mymongodb.user.update(,
}) 定位到第乙個john的第一條評論
9、特殊的更新or插入upsert
upsert的特點是如果存在就更新,如果不存在就根據update的條件插入一條新的記錄
10、批量更新
需要設定update的第四個引數為true,否則預設更新第乙個匹配的文件
11、得到上一條命令的執行結果
db.runcommand()
摘自 潘潘.eagle
Mongodb的學習筆記
mongodb是乙個高效能,開源,無模式的文件型資料庫,是當前nosql資料庫中比較熱門的一種。它在許多場景下可用於替代傳統的關係型資料庫或鍵 值儲存方式。mongo使用c 開發。mongo的官方 位址是 讀者可以在此獲得更詳細的資訊。小插曲 什麼是nosql?nosql,全稱是 not only ...
mongoDB的學習筆記
基本概念 1 文件 對應關聯式資料庫的行,也就是一條記錄。它比關聯式資料庫的行的功能要強大,更像是是某個具體的物件。文件以一種map的形式展現出來,當然value可以是任意的型別,也可以繼續是乙個文件 遞迴的定義 2 集合 對應關聯式資料庫的表。但是它又是無模式的,即文件不要求一致。基本操作 1 顯...
MongoDB學習筆記
從接觸計算機學習開始,我所使用的資料庫就是mysql,oracle這樣的關係型資料庫。早就聽說了nosql的概念,也對其有代表性的非關係型資料庫mongodb有所耳聞,一直想學習學習這項從未使用過的技術,可是由於種種原因,又沒有時間來學習學習這項新的概念。也就是這麼巧,目前的工作中,使用到的就是mo...