概念 庫級操作 #集合操作 文檔操作 插入 查詢 更新 刪除 mongodb配置 mongodb許可權 ...
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() #查詢所有用戶