我們終端輸入mongo即可登錄Mongodb數(shù)據(jù)庫
登錄后我們就可以輸入命令來實(shí)現(xiàn)功能了
查看數(shù)據(jù)庫
show databases ? ? ?或show dbs ? ? ?(結(jié)尾不用加;)
剛創(chuàng)建的服務(wù)端尼荆,只有admin,config,local三個數(shù)據(jù)庫
查看當(dāng)前數(shù)據(jù)庫
db
切換數(shù)據(jù)庫
use 數(shù)據(jù)庫名
刪除當(dāng)前數(shù)據(jù)庫
db.dropDatabase() ? ? 這里db指代的是當(dāng)前的數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫
mongodb創(chuàng)建數(shù)據(jù)庫就是
use 數(shù)據(jù)庫名 ? ? ?(當(dāng)數(shù)據(jù)庫不存在就創(chuàng)建)
MongoDB數(shù)據(jù)庫沒有表的概念,而是使用集合
不手動創(chuàng)建集合,向不存在集合插入數(shù)據(jù)踢京,集合創(chuàng)建
手動創(chuàng)建仅父,db.createCollection(name,options)
db.createCollection('stu')就是給當(dāng)前數(shù)據(jù)庫創(chuàng)建了'stu'的集合
db.createCollection('sub',{capped:true,size:10})我們設(shè)置capped屬性時慢哈,集合達(dá)到size值(單位字節(jié))就會后面的數(shù)據(jù)將前面的覆蓋(相當(dāng)于先進(jìn)先出的隊(duì)列)
查看集合 show collections
刪除集合db.集合名.drop()
如上圖楚殿,我們db.t250.drop()就把當(dāng)前數(shù)據(jù)庫的t250集合刪掉了
MongoDB存儲的數(shù)據(jù)類型
object id:我們數(shù)據(jù)庫存儲很多個字典哮兰,字典有文檔ID(MongoDB自動幫我們生成)
每個字典為了保證唯一性贺纲,有_id屬性(類型object id),我們可以手動設(shè)置航闺,也可以讓自動生成
這個類型是12字節(jié)的十六進(jìn)制數(shù),每個位置代表如上圖
我們怎么看到這個object id呢潦刃,見上圖侮措,我們沒有test1000,我們直接給插入就實(shí)現(xiàn)了創(chuàng)建乖杠,我們查看數(shù)據(jù)庫分扎,可以看到這個object id
String:字符串,必須有效utf-8
Boolean:布爾類型胧洒,true或false(記得是小寫)
Integer:整數(shù)類型32位或64位畏吓,取決于服務(wù)器
Double:存儲浮點(diǎn)值
Object:文檔對象,即字典
Null:存儲Null值
Timestamp:時間戳卫漫,1970-1-1到現(xiàn)在的秒數(shù)
Date:當(dāng)前日期時間的unix格式
使用new Date("YYYY-MM-DD")格式創(chuàng)建Date數(shù)據(jù)菲饼,自動補(bǔ)0,我們使用python里datetime.datetime()來實(shí)現(xiàn)對應(yīng)類型
數(shù)據(jù)庫插入
db.集合名.insert(文檔) 文檔是json格式(字典)
如上可以看到如何插入列赎,插入的object id是不一樣的
上圖為指定_id鍵插入
還有一種插入是使用db.集合名.save(文檔)
和insert的區(qū)別是宏悦,如果我們手動插入帶_id的項(xiàng)目,如果_id已存在包吝,insert會報錯饼煞,而save會保留我們新的文檔(把之前同_id的覆蓋掉)
簡單查詢
db.集合名.find()