MongoDB | |
---|---|
Database(資料庫) | Database(資料庫) |
Table(表) | Collection(集合) |
Record(記錄) | Document(文件) |
use DATABASE #切換/建立庫 show dbs #檢視所有資料庫(空庫不會顯示) db.dropDatabase() #刪除當前資料庫 db #檢視當前所在庫
#集合操作
db.createCollection(name, options) #建立集合 用引號引起來 capped:型別為boolean,如果為true則為建立一個固定大小的集合,當集合中的資料條目達 到最大時自動覆蓋以前的條目。 size:指定集合位元組最大值,當capped為true時需要指定。單位為byte max:指定集合中資料的最大條數。 db.createCollection( "BizUser", {capped:1,autoIndexID:1,size:6142800,max:10000} ) show collections #檢視當前資料庫的集合 db.集合名稱.drop() #刪除集合
插入
db.集合名稱.insert(document) #插入文件, 集合不存在會自動建立, 不能插入重複id的資料 db.student.insert({_id:1, name:`bear`, age:18}) db.student.insert([ {name:`juhao`, sex:`男`, age:18}, {name:`nanbei`, sex:`男`, age:19}, {name:`budong`, sex:`男`, age:20}, ])
db.集合名稱.find() #查詢所有 db.集合名稱.find().pretty() #結構化顯示 db.集合.find({name:10}).pretty() where name = 10 db.集合.find({name:{$ne:10} }).pretty() where name != 10 db.集合.find({name:{$gt:10} }).pretty() where name > 10 db.集合.find({name:{$lt:10} }).pretty() where name < 10 #後面加個e就是加等於 #and邏輯 {$and:[{expression1}, {expression1}, ...] } #or邏輯 {$or:[{expression1}, {expression1}, ...] } #where sex=`男` and age > 18 db.table.find({ $and:[ {sex:`男`}, {age:{$gt:18}} ] }) #where sex=`女` or age =18 db.table.find({ $or:[ {sex:`女`}, {age:18} ] }) #where (sex=`女` and age=18) or (sex=`男` and age>18) db.table.find({ $or:[ {$and:[{sex:`女`}, {age:18}]}, {$and:[{sex:`男`}, {age:{$gt:18}}]} ] })
db.table.update({sex:`男`},[{age:20}) #更新第一條找到的文件全部值 無multi db.table.update({sex:`男`}, {$set:{age:666, agee:6666}}) #修改第一條找到的文件,不存在就新增 db.table.update({sex:`男`}, {$set:{sex:`女`}}, {multi:true}) #更新全部
db.集合名稱.remove( <query>, <justOne> ) db.table.remove({age:18}) #刪除所有滿足條件的 db.table.remove({sex:`男`}, {justOne:true}) #刪除一條
vim /etc/mongodb.conf dbpath #資料存放的地址 logpath #日誌存放的地址 bind_ip = 0.0.0.0 #監聽IP auth = True #許可權認證
MongoDB預設設定為無許可權訪問限制 #進入user admin #建立管理員使用者,用來管理使用者,可以通過這個角色來建立、刪除使用者,使用者只具有管理使用者和角色的許可權。 db.createUser({ user:`bear`, pwd:`123456`, roles:[{role:"userAdminAnyDatabase", db:"admin"}] }) #role:指定使用者的角色,db指定庫 db.createCollection(`student`) #建立一個庫 use student #進入 #給該庫新增使用者 db.createUser({ user:`test`, pwd:`test`, roles:[{ role:`readWrite`, db:`student` }] }) show users #檢視當前庫下的使用者 db.dropUser(`username`) #刪除某個使用者 db.dropAllusers() #刪除當前庫的所有使用者 db.getUsers() #查詢所有使用者