1數據庫的增刪改查sql
1、增長一個數據庫:mongodb
use blog-----切換到指定的數據庫,若是數據庫不存在,則自動建立該數據庫(新建的數據庫,若是沒有存儲對應的集合,是不會顯示出來的)
2、刪除一個數據庫數據庫
1首先用use 切換到你須要刪除的數據庫 use test 2而後執行db.dropDatabase()命令 db.dropDatabase()
3、修改一個數據庫的名字json
db.copyDatabase(fromdb, todb, fromhost) fromdb:源數據庫, todb:目標數據庫 fromhost:原地址 實例:修改blog的數據庫名爲blog123 use blog db.copyDatabase("blog","blog3"); db.dropDatabase()
4、查詢全部數據庫數組
show dbs
2文檔的增刪改查(集合---表,文檔--行,字段--列)ui
1、增長文檔spa
db.table_name.insert(document):插入文檔 db.table_name.save(document):插入文檔,若是帶有id,則更新 注意,document都是json格式 實例:插入一個user實例 db.user.insert({"name":"zhangsan","password":"123456"}) 或 db.user.save({"name":"zhangsan","password":"123456"})
2、刪除文檔3d
db.table_name.remove(query,juseone) 注意:query與justone都是JSON格式 query:刪除的查詢條件 justone:是否只刪除一條文檔 示例:只刪除一個name等於test的文檔 db.user.remove({"name":"test"},{justone:1})
3、更新文檔code
update語句:對象
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } ) 參數說明: query : update的查詢條件,相似sql update查詢內where後面的。 update : update的對象和一些更新的操做符(如$,$inc...)等,也能夠理解爲sql update查詢內set後面的 upsert : 可選,這個參數的意思是,若是不存在update的記錄,是否插入objNew,true爲插入,默認是false,不插入。 multi : 可選,mongodb 默認是false,只更新找到的第一條記錄,若是這個參數爲true,就把按條件查出來多條記錄所有更新。 writeConcern :可選,拋出異常的級別。 示例:更新name爲zhangsan的密碼爲111111,若是不存在就插入,若是存在多條,則只更新一條 use blog db.user.update({"name":"zhangsan"},{$set:{"password":"111111"},true,false})
update語句的更新操做符說明:
1$set:至關於等號「=」,也能夠爲文檔新增長一個字段,例如name不存在,則添加一個name字段 例如:{$set:{「name「:「"123"}} 2$inc:至關於「加等」「+=」,字段必須存在, 例如:{$inc:{"ago":1}} 3$unset:去除文檔的某個字段 例如:{$unset:{"ago":0}} 4$push:爲文檔的某個字段添加一個數組值,若是字段不存在,則建立字段 原記錄: { "_id" : ObjectId("5003be465af21ff428dafbe7"), "name" : "zhangsan", "password":"123456","group" : [ "manager" ]} 執行命令 db.user.update({"name" : "zhangsan"},{$push:{"group":"sale"}}) 執行後 { "_id" : ObjectId("5003be465af21ff428dafbe7"), "name" : "zhangsan", "password":"123456","group" : [ "manager" ,"sale"]} 5$ne 主要給數組類型鍵值添加一個元素時,避免在數組中產生重複數據,$ne在有些狀況是不通行的。 db.user.update({"group" : {$ne:"sale"}},{$push:{"group":"sale"}}) 6.數組修改器--$pop、$pull $pop從數組的頭或者尾刪除數組中的元素 --從數組的尾部刪除 1 > db.c.update({"name" : "zhangsan"},{$pop:{"group":1}}) $pull從數組中刪除知足條件的元素,示例以下: > db.user.update({"name" : "zhangsan"},{$pull:{"group":"sale"}}) 7.數組的定位修改器 ------------------------------------------------------------------- 在須要對數組中的值進行操做的時候,可經過位置或者定位操做符("$").數組是0開始的,能夠直接將下標做爲鍵來選擇元素。 示例以下: {"uid":"001",comments:[{"name":"t1","size":10},{"name":"t2","size":12}]} > db.c.find({"uid":"001"}) { "_id" : ObjectId("5003da405af21ff428dafbe8"), "uid" : "001", "comments" : [ { "name" : "t1", "size" : 10 }, { "name" : "t2", "size" : 12 } ] } > db.c.update({"uid":"001"},{$inc:{"comments.0.size":1}}) > db.c.find({"uid":"001"}) { "_id" : ObjectId("5003da405af21ff428dafbe8"), "uid" : "001", "comments" : [ { "name" : "t1", "size" : 11 }, { "name" : "t2", "size" : 12 } ] }
save()語句:
save() 方法經過傳入的文檔來替換已有文檔。語法格式以下: db.collection.save( <document>, { writeConcern: <document> } ) document:JSON格式 示例:更新name爲zhangsan的密碼爲123456 use blog db.user.save({ "_id" : ObjectId("574d9667ec9f7148b53f27d9"), "name":"zhangsan","password" : "123456" })
4、查詢文檔
db.table_name.find(query) query:json格式,可使用操做符 示例:查詢ago大於20而且(name等於張三或password等於123456)的記錄 db.col.find({"ago": {$gt:20}, $or: [{"name": "zhangsan"},{"password": "123456"}]}).pretty() db.col.find().pretty():以合理的格式顯示查詢的內容