一控乾、Mongo的基本使用
Mongo的介紹 NOSQL數(shù)據(jù)庫類型
show dbs // 查看已經(jīng)存在的集合數(shù)據(jù)
db.help() // 查看數(shù)據(jù)庫的所有相關(guān)的方法
db.stats() // 查看數(shù)據(jù)庫的狀態(tài)
db.version() // 查看當前db的版本
db.getMongo() // 查看當前db的鏈接地址
use blog // 先切換到對應(yīng)的數(shù)據(jù)集合類
// 切換數(shù)據(jù)庫
// 數(shù)據(jù)庫有多個 每次只能操作一個數(shù)據(jù)庫
// 數(shù)據(jù)庫里面的是集合 理解為表
show collections // 查看集合中的所有的數(shù)據(jù)信息
db.users.insert({"book_id":1});
db.users.find().count();
db.users.find({"book_id":1});
這個主鍵的id 是自動生成的數(shù)據(jù)
db.users.find({"_id":ObjectId("58bcd55fbcbc58571cb74cd6")});
db.userInfo.find({name: /mongo/});
相當于%%select * from userInfo where name like ‘%mongo%’;
db.userInfo.find({name: /^mongo/});
select * from userInfo where name like ‘mongo%’;
update
update 第一個是條件 第二個是要修改的值
db.users.update({"book_id":1},{$set:{"book_id":8}});
執(zhí)行后顯示: WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.users.update({"book_id":1},{$set:{"book_di":10}},{"multi":true});
注意update 和 save的區(qū)別
update有3個參數(shù)
save方法只有一個參數(shù) 并且 如果更新的鍵沒有 則會替換整個字段 會丟失一些字段信息
db.user.save({"_id":ObjectId("58bce7acbcbc58571cb74cd9"),"book_name":"ios"});
刪除 remove方法只有一個條件
db.user.insert({"username":"david"});
db.user.insert({"username":"david"});
db.user.insert({"username":"david"});
先執(zhí)行前面的插入3條數(shù)據(jù) 然后在執(zhí)行后面的刪除 刪除前面插入的3條數(shù)據(jù)信息
db.user.remove({"username":"david"});
第2個參數(shù)默認為false 如果設(shè)置為true 則只刪除 查詢到的第一條記錄信息
第2個參數(shù) 表示是否是單行刪除 默認為false 表示不是單行刪除
db.user.remove({"username":"david"},true);
find:查詢到的集合信息
{ "_id" : ObjectId("58bce5e3bcbc58571cb74cd8"), "book_id" : 999, "book_name" : "html5" }
{ "_id" : ObjectId("58bce7acbcbc58571cb74cd9"), "book_name" : "ios" }
{ "_id" : ObjectId("58bceadfbcbc58571cb74cde"), "username" : "david" }
{ "_id" : ObjectId("58bceadfbcbc58571cb74cdf"), "username" : "david" }
{ "_id" : ObjectId("58bceae1bcbc58571cb74ce0"), "username" : "david" }
刪除整個集合 類似刪除表的操作
db.user.remove({});
刪除整個文檔 和 文檔對應(yīng)的索引 即表名稱
db.user.drop();
db.dropDatabase(); 刪除當前所在的數(shù)據(jù)庫信息
Mac下面 mongo命令行窗口中 輸入cls 清除屏幕的信息
全部替換為后面的值
db.testuser.update({username:"tom"},{"username":"jack","age":20,sex:1});
設(shè)置數(shù)據(jù)字段中的屬性值 自增顯示
db.testuser.update({"username":"tom"},{$inc:{age:1}});
刪除某個字段
db.testuser.update({username:"tom"},{$unset:{sex:1}});
可以向記錄中添加或修改 一個值 不存在就添加 存在就修改
db.testuser.update({username:"jack"},{$set:{like:[]}});
pull 向數(shù)組中刪除一條記錄
db.testuser.update({"username":"jack"},{"$pull":{like:["develpment"]}})
push 向數(shù)組中添加一條記錄
db.testuser.update({"username":"jack"},{"$push":{like:["develpment"]}})
push 向數(shù)組中添加多條信息
db.testuser.update({"username":"jack"},{$pushAll:{like:["sport","computer"]}})
刪除數(shù)組中的最后一個值
db.testuser.update({"username":"jack"},{$pop:{like:1}})
刪除數(shù)組中的第一個值
db.testuser.update({"username":"jack"},{$pop:{like:-1}})
二、數(shù)據(jù)庫的備份和恢復(fù)
從制度的位置恢復(fù)數(shù)據(jù)庫
mongodump -d blog -o /testData
mongorestore -d blogtest /testData/blog