常用的shell命令
1.帮助命令
help
db.help()
2.数据库操作命令
show dbs 查看有哪些数据库
use dbname 切换数据库
db / db.getName() 查看当前的数据库名称
db.stats() 显示当前DB的状态
db.version() 查看当前DB的版本
db.getMongo() 查看当前DB的连接主机地址
db.dropDatabase() 删除当前DB
3.创建数据库和集合
user 数据库名 不存在就创建,存在就切换数据库
db.createCollection('user') 创建user集合
show dbs
show collections / db.getCollectionNames() 查看当前DB里面的表
db.getCollection('user') 获取指定集合
db.printCollectionStats() 打印指定集合的状态
4.集合中的文档(document)操作
db.user.insertOne({name:"yyj",age:22}) 插入一条数据
db.user.insertMany([{name:"yyj",age:22},{name:"zhangsan",age:12}]) 插入多条数据
db.user.save({name:"zhangsan2",age:12,_id:3232323232})
save和insert的区别
新增的数据中存在主键,则再次出入相同的主键是insert()会提示错误
而save()则更改原来的内容为新内容
没有saveMany命令
db.user.updateOne({name:'zhangsan'},{$set:{age:34}}) 修改一条数据 把名字为zhangsan的age改成34
db.user.updateMany({age:12},{$set:{age:134}}) 修改多条数据 把年龄为12的改成年龄为134
db.user.deleteOne({age:134}) 删除一条age为134的数据
db.user.deleteMany({age:134}) 删除所有age为134的数据
db.user.remove({age:12}) 类似deleteMany
5.聚集集合查询
db.集合名.find({查询条件},{显示对象})
db.user.find() 查询所有记录
db.user.find({age:13})
db.user.find({age:{$gt:13}}) 查询年龄大于13岁的所有记录
db.user.find({ahe:{$gte:13}}) 查询年龄大于等于13岁的所有记录
db.user.find({age:{$lt:13}}) 查询年龄小于13岁的所有记录
db.user.find({age:{$lte:13}}) 查询年龄小于等于13岁的所有记录
db.user.find({age:{$lt:20,$gt:14}}) 查询年龄小于20大于14之间的所有记录
db.user.find({name:/yyj/}) 查询名字里面有yyj的记录
db.user.find({name:/^yyj/}) 查询名字以yyj开头的所有记录
db.user.find({name:/^yyj/},{name:1,_id:0}) 1表示显示,0表示不显示
db.user.find().sort({age:1}) 按age进行升序排序
db.user.find().sort({age:-1}) 按age进行降序排序
db.user.find().sort({age:-1}).limit(5) 查询年龄排名前5的记录
db.user.find().sort({age:-1}).limit(5).skip(5) 查询年龄排名前6-10的记录
db.user.find({$or:[{age:{$gt:20}},{age:{$lt:13}}]}) 查询年龄小于等于13岁的所有记录.
db.user.find({age:12}).count()查询满足条件记录的数量