一、Mongo的基本使用
Mongo的介绍 NOSQL数据库类型
show dbs // 查看已经存在的集合数据
db.help() // 查看数据库的所有相关的方法
db.stats() // 查看数据库的状态
db.version() // 查看当前db的版本
db.getMongo() // 查看当前db的链接地址
use blog // 先切换到对应的数据集合类
// 切换数据库
// 数据库有多个 每次只能操作一个数据库
// 数据库里面的是集合 理解为表
show collections // 查看集合中的所有的数据信息
db.users.insert({"book_id":1});
db.users.find().count();
db.users.find({"book_id":1});
这个主键的id 是自动生成的数据
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}});
执行后显示: WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.users.update({"book_id":1},{$set:{"book_di":10}},{"multi":true});
注意update 和 save的区别
update有3个参数
save方法只有一个参数 并且 如果更新的键没有 则会替换整个字段 会丢失一些字段信息
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"});
先执行前面的插入3条数据 然后在执行后面的删除 删除前面插入的3条数据信息
db.user.remove({"username":"david"});
第2个参数默认为false 如果设置为true 则只删除 查询到的第一条记录信息
第2个参数 表示是否是单行删除 默认为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({});
删除整个文档 和 文档对应的索引 即表名称
db.user.drop();
db.dropDatabase(); 删除当前所在的数据库信息
Mac下面 mongo命令行窗口中 输入cls 清除屏幕的信息
全部替换为后面的值
db.testuser.update({username:"tom"},{"username":"jack","age":20,sex:1});
设置数据字段中的属性值 自增显示
db.testuser.update({"username":"tom"},{$inc:{age:1}});
删除某个字段
db.testuser.update({username:"tom"},{$unset:{sex:1}});
可以向记录中添加或修改 一个值 不存在就添加 存在就修改
db.testuser.update({username:"jack"},{$set:{like:[]}});
pull 向数组中删除一条记录
db.testuser.update({"username":"jack"},{"$pull":{like:["develpment"]}})
push 向数组中添加一条记录
db.testuser.update({"username":"jack"},{"$push":{like:["develpment"]}})
push 向数组中添加多条信息
db.testuser.update({"username":"jack"},{$pushAll:{like:["sport","computer"]}})
删除数组中的最后一个值
db.testuser.update({"username":"jack"},{$pop:{like:1}})
删除数组中的第一个值
db.testuser.update({"username":"jack"},{$pop:{like:-1}})
二、数据库的备份和恢复
从制度的位置恢复数据库
mongodump -d blog -o /testData
mongorestore -d blogtest /testData/blog