1、帮助命令
help
db.help()
db.test.help()
db.test.find().help()
2、数据库操作命令
show dbs
use dbname 切换数据库
db / db.getName() 查看当前数据库名称
db.stats() 显示当前DB的状态
db.version() 查看当前DB的版本
db.getMongo() 查看当前DB的连接的主机地址
db.dropDatabase() 删除当前DB
3、创建数据库和集合
use project 不存在就创建,存在就切换至
db.createCollection('user') // 创建user集合
db.createCollection('music', {size:20,capped:true,max:100}) 创建固定容量的集合
show dbs
show collections / db.getCollectionNames()
db.user.isCapped() 判断集合是否为定容量
db.getCollection('music') 获取指定集合
db.printCollectionStats() 打印指定集合的状态
4、集合中的文档操作:
db.user.insertOne({}) 向集合中插入文档
db.user.insertMany([{},{}])
db.user.save({})
db.user.updateOne({"name":"geekxia"}, {$set:{"age":100}})
db.user.updateMany({},{$set:{}})
db.user.deleteOne({"name":"jiaming"})
db.user.deleteMany()
db.user.remove({}) // 要指出删除的条件
db.user.find()
5、文档操作的综合示例
db.user.findAndModify({
query: {age: {$gte: 25}},
sort: {age: -1},
update: {$set:{name:'a'},$inc:{age:2}},
remove: true
});
等价于下面这个命令:
db.runCommand({
findandmodify: 'user',
query: {age: {$gte: 25}},
sort: {age: -1},
update: {$set:{name:'a'},$inc:{age:2}},
remove: true
});
6、聚集集合查询
db.user.find() 查询所有记录
db.user.distinct('name') 以name字段去重查询
db.user.find({age:22}) 查询age=22的记录
db.user.find({age:{$gt: 22}}) 查询age>22的记录
db.user.find({age:{$lt: 22}}) 查询age<22的记录
db.user.find({age:{$gte: 22}}) 查询age>=22的记录
db.user.find({age:{$lte: 22}}) 查询age<=22的记录
db.user.find({age:{$gte:20, $lte:30}}) 查询age>=20 && age<=30的记录
db.user.find({name:/geek/}) 查询name中包含'geek'的记录
db.user.find({name:/^geek/}) 查询name以'geek'开头的记录
db.user.find({},{name:1,age:1}) 查询所有记录,只返回name和age字段(1-显示 0-不显示)
db.user.find({age:{$gt:20}},{name:1,age:1}) 查询age>20的记录,只返回name和age字段
db.user.find().sort({age:1}) 按age进行升序排列
db.user.find().sort({age:-1}) 按age进行降序排列
db.user.find({},{name:1,age:1,_id:0}).sort({age:1})
db.user.find({name:'geek',age:22}) 查询name='geek' && age=22的记录
db.user.find().limit(5) 只查询前5条记录
db.user.find().skip(10) 查询10条以后的所有数据
db.user.find().skip(5).limit(5) 查询第6~10条记录
db.user.find({$or:[{age:20},{age:25}]}) 查询age=20或者age=25的记录
db.user.findOne() 查询满足条件的第一条记录
db.user.find({age:{$gte:25}}).count() 查询满足条件的记录的总条数
db.user.find({grade:{$exists:true}}) 查询含有grade字段的记录
db.user.find({sex:{$exists:true}}).count() 查询存在sex字段的记录的总条数
7、实战mongo shell
构造一批假数据,使用insertMany()入库
然后就可以使用上述命令进行实战练习了
网友评论