启动MongoDB数据库
在你安装的mongodb的位置 打开命令行
mongod --dbpath D:data //没有这个data文件自己建立一个
然后再到这个目录继续开一个cmd 然后输入mongo 连接成功后 查看 show dbs
此时打开可视化工具是否看看是不是这个三个数据库
**
界面数据管理库下载链接(可视化工具下载)
https://www.mongodb.com/try/download/compass**
mongodb经常用到的命令行
//创建并且选择 (有则选择 无则建) use dbName
//db 查看当前数据库
//show dbs 查看所有数据库
//db.status 查看数据库状态
说明 host文件里默认有一条localhost到127.0.0.1的记录
//db.getMongo() 查看数据库连接地址
// db.version() 查看数据库版本信息
//db.dropDatabase() 删除数据库 --慎用
//db.createCollection("runoob") //创建集合
show dbs 查看数据库
db 查看当前数据库
use 数据库名 切换到某一个数据库
show collections 显示集合
db.集合名.操作 对集合进行某种操作
db.集合名.find() 查找
删除集合
db.runoob.drop()
查看所有集合
show collections
查看当前集合名称
插
插入单条 db.shuihu.insertOne({})
插入多条 db.shuihu.insertMany([{username:'徐宁',password:'5555',age:36},{username:'张清',password:'5555',age:40}])
删
根据指定键值对条件
删除单条数据 db.colName.deleOne({key:val})
例子
db.shuihu.deleteOne({"username":"徐宁"})
删除所有数据 db.colName.deleteMany({})
例子
删除多条数据 db.colName.deleteMany({key:val})
db.shuihu.deleteMany({username: {$in: ['卢俊义', '吴用']}})
改
根据指定键值对条件
修改数据 db.shuihu.updateOne({username:'关羽'},{$set:{username:'赵云'}})
num 为正自增 负 自减
自增/自减单条数据
例子
db.shuihu.updateMany({age:19},{$inc:{age:1}})
自增/自减单条数据
例子
db.shuihu.updateMany({age:20},{$inc:{age:-1}})
举例说明
插入
单条
db.shuihu.insert({username:'林冲2',password:123456,age:18 })
插入多条
例子 db.shuihu.insert([{
username:'宋江',
pass:123456,
age:11,
},{
username:'卢俊义',
pass:123456,
age:2,
},{
username:'吴用',
pass:123456,
age:111,
},{
username:'公孙胜',
pass:123456,
age:19,
},{
username:'关胜',
pass:123456,
age:19,
},{
username:'林冲',
pass:123456,
age:19,
},{
username:'秦明',
pass:123456,
age:15,
},{
username:'呼延灼',
pass:123456,
age:40,
},{
username:'花荣',
pass:123456,
age:66,
},{
username:'柴进',
pass:123456,
age:55,
},{
username:'李应',
pass:123456,
age:88,
}])
删
根据指定键值对条件
删除单条数据db.shuihu.deleteOne({username:‘林冲2’})
//你也可以不用deleOne 因为deleteMany 写一个就是删除一条
删除多条数据 db.shuihu.deleteMany({username:‘林冲2’})
删除所有数据 db.shuihu.deleteMany({})
改
根据指定键值对条件
修改单条数据 db.shuihu.updateOne({username:'宋江'},{$set:{username:'宋江2'}})
修改多条数据 db.shuihu.updateMany(
{username:'林冲'},
{ $set: { username:'linchong' } }
)
num 为正自增 负 自减
自增/自减单条数据 db.shuihu.updateOne({username:'linchong'},{$inc:{age:1}})
db.shuihu.updateOne({username:'linchong'},{$inc:{age:-1}})
查询
1 基本查询所有数据
db.shuihu.find()
2 格式化查询所有数据 更加美观
db.shuihu.find().pretty()
3 指定键值对条件查询
db.shuihu.find({key:val})
4 指定条件查询(可以为{}表示所有数据) 并限制字段显示
//1 inclusion模式 指定返回的键,不返回其他键
db.shuihu.find({username:'张清'},{username:1,password:1})
//2 db.exclusion 模式 指定不返回的键 返回其他键
db.shuihu.find({username:'张清'},{username:0,password:0})
5 分页查询 分页可以直接交给后端来做
db.colName.find({key:val}).limit(num).skip(start)
//num 表示个数
//start 表示开始索引 默认0
例子 db.shuihu.find({}).limit(5).skip(2)
6 排序查询
db.shuihu.find({}).sort({age:1})
// 1 升序 -1 降序
// 例子
db.shuihu.find({}).sort({age:-1})
7 区间查询
// 小于val1 大于val2
例子 db.shuihu.find({age:{$lt:88,$gt:33}})
// 小于等于val1 大于等于val2
例子 db.shuihu.find({age:{$lte:88,$gte:33}})
1 模糊查询 -- 实战中用于搜索
db.shuihu.find({username:/花/}) // 查看key中包含val的数据
db.shuihu.find({username:/^李/}) //查询key中包含val 以val开头的数据
2 或查询
db.shuihu.find({$or:[{username:'花荣'},{username:'吴用'}]})
3 $in都要里面命中的都要查
db.shuihu.find({username: {$in: ['柴进', '花荣']}})