NoSQL(NoSQL = Not Only SQL ),意即"不單單是SQL",指的是非關係型的數據庫sql
sql | mongodb |
---|---|
table | collection 表/集合 |
row | document 行/文檔 |
column | field 字段/域 |
primary_key | primary_key MongoDB自動將_id字段設置爲主鍵 |
一個簡單的文檔例子以下:mongodb
{"site":"www.runoob.com", "name":"菜鳥教程"}
use test
show dbs
命令:show dbs
結果:數據庫
admin 0.000GB config 0.000GB local 0.000GB
能夠看到,咱們剛建立的數據庫 test 並不在數據庫的列表中, 要顯示它,咱們須要向 test 數據庫插入一些數據數組
db.test.insert({"name":"菜鳥教程"}) show dbs
顯示:數據結構
admin 0.000GB config 0.000GB local 0.000GB test 0.000GB
MongoDB 中默認的數據庫爲 test,若是你沒有建立新的數據庫,集合將存放在 test 數據庫中。nosql
在 MongoDB 中,集合只有在內容插入後纔會建立! 就是說,建立集合(數據表)後要再插入一個文檔(記錄),集合纔會真正建立。分佈式
show dbs use test db.dropDatabase() show dbs
結果:函數
admin 0.000GB config 0.000GB local 0.000GB
use test db.createCollection("runoob")
db.runoob.insert({'d':'333333'}) db.runoob.drop()
db.COLLECTION_NAME.insert(document)
>db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一個 Nosql 數據庫', by: '菜鳥教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
以上實例中 col 是咱們的集合名,若是該集合不在該數據庫中, MongoDB 會自動建立該集合並插入文檔。性能
使用 find() 函數查詢數據:url
db.col.find()
顯示:
{ "_id" : ObjectId("56066169ade2f21f36b03137"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5606616dade2f21f36b03138"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
db.col.find().pretty()#美觀
顯示:
{ "_id" : ObjectId("5b7f7357c98c3333acf4e0e5"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5b7f735fc98c3333acf4e0e6"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
接下來咱們移除 title 爲 'MongoDB 教程' 的文檔:
db.col.remove({'title':'MongoDB 教程'}) db.col.find()
沒數據顯示了,兩條數據全刪除了
db.col.remove({'title':'MongoDB 教程'},1) db.col.find().pretty()
顯示
{ "_id" : ObjectId("5b7f74e6c98c3333acf4e0e8"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
即只刪除掉一條數據
db.collection.remove( <query>, <justOne> )
db.collection.find(query, projection)