mongodb常用命令

2020-09-22  本文已影响0人  我那么逗

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()入库

然后就可以使用上述命令进行实战练习了

上一篇 下一篇

猜你喜欢

热点阅读