mongod数据库的操作命令与方法
一、数据库常用命令与方法
1.查看所有的数据库$ show dbs
注:当某个数据库下没有数据的时候是show不出来的
2.创建/切换数据库$ use <数据库名字>
注:要切换的数据库不存在时,会先创建出来再切换过去。
3.查看当前使用的数据库$ db.getName()
4.显示当前数据库状态$ db.stats()
5.删除当前数据库db.dropDatabase()
注:通过 show dbs 查看是否还在
二、集合(collection)常用命令与方法
1.创建集合$ db.createCollection(‘集合名字‘)
2.查看当前数据库下所有的集合
$ db.getCollectionNames()
$ show collections
3.删除集合$ db.集合名.drop()
三、文档(document)常用命令与方法
添加
1.save$ db.<集合名>.save( document )
2.insert$ db.<集合名>.insert( docuemnt || [...document] )
3.insertOne$ db.<集合名>.insertOne( document )
4.insertMany$ db.<集合名>.insertMany([...document])
修改
1.save$ db.<集合名>.save( document )
注:传入 _id 时,可实现修改,可以理解为直接覆盖之前的 document
2.update
$ db.<集合名>.update(
<query>,
<update>,
<options>
}
参数:
query:查询条件
update:修改内容 !!!
options:一些额外选项配置
? upsert:如果查询不到的时候是否直接增加这条记录。默认是 false
? multi:是否更新多条,默认是 false
3.updateOne
4.updateMany
删除
1.remove
$ db.<集合名>.remove(
<query>,
<options>
)
参数:
query:查询条件
options:配置项
justOne:是否只删除一条,默认是 false
- deleteOne
3.deleteMany
查询
1.查询所有记录$ db.hello.find()
2.查询 age = 22 的记录$ db.hello.find( { age: 22 } )
3.查询 age > 22 的记录$ db.hello.find( { age: { $gt: 22 } } )
4.查询 age < 22 的记录$ db.hello.find( { age: { $lt: 22 } } )
5.查询 age >= 22 的记录$ db.hello.find( { age: { $gte: 22 } } )
6.查询 age <= 22 的记录$ db.hello.find( { age: { $lte: 22 } } )
7.查询 age != 22 的记录$ db.hello.find( { age: { $ne: 22 } } )
8.查询 age >= 23 并且 age <= 26 的记录$ db.hello.find( { age: { $gte: 23, $lte: 26 } } )
9.查询 age >= 50 或者 name = 林强 的记录$ db.hello.find( { $or: [ { age: { $gte: 50 } }, { name: ‘林强‘ } ] } )
10.查询 name = 张三 并且 age = 20 的记录$ db.hello.find({ name: ‘张三‘, age: 20 })
11.? 查询 name 中包含 mongo 的记录$ db.hello.find({ name: /mongo/ })
12.查询 name 中以 张 开头的记录$ db.hello.find({ name: /^张/ })
13.查询 name 中以 mongo 结尾的记录$ db.hello.find({ name: /mongo$/ })
14.查询 指定 name、age 字段的记录
# _id 会默认有
$ db.hello.find({}, { name: 1, age: 1 })
# 如果不想要 _id
$ db.hello.find({}, { name: 1, age: 1, _id: 0 })
# 如果只是排除掉一个或几个
$ db.hello.find({}, { address: 0 })
15.查询 指定 name、age 字段并且 age > 45 的记录$ db.hello.find({ age: { $gt: 45 } }, { name: 1, age: 1 })
16.查询 按 age 升序的记录$ db.hello.find().sort({ age: 1 })
17.查询 按 age 倒序的记录$ db.hello.find().sort({ age: -1 })
18.查询 10 条之后的记录。(跳过前10条)$ db.hello.find().skip(10)
19.查询 5 条记录。(限制条数)$ db.hello.find().limit(5)
20.查询 10 条之后的 5 条记录$ db.hello.find().skip(10).limit(5)
21.查询 第一条 记录$ db.hello.findOne()
22.获取查询结果的个数$ db.hello.find().count()