基础操作
2024年11月17日大约 2 分钟
基本常用命令
数据库相关
# 查看所有数据库
show databases
# 选择数据库(如果数据库不存在,不会报错; 会隐式创建:当后期该数据库有数据时自动创建)
use 数据库名
# 删除数据库(先选中数据库)
db.dropDatabase()
集合相关
# 查看所有集合
show collections
# 创建集合(插入数据会隐式创建)
db.createCollection('集合名')
# 删除集合
db.集合名.drop()
CURD
增:插入文档
db.集合名.insert(json数据)
集合存在则直接插入数据,不存在则隐式创建集合并插入数据
json数据格式要求key得加"",但这里为了方便查看,对象的key统一不加"";查看集合数据时系统会自动给key加""
mongodb会自动给每条数据创建全球唯一的_id键(我们也可以自定义_id的值,只要给插入的json数据增加_id键即可覆盖,但是不推荐这样做)
测试
插入一条数据:db.it.insert({"k1":"v1"})
插入多条数据:db.it.insert([{"k1":"v1"},{"k2":"v2"},{"k3":"v3"}])
使用 for 循环插入数据:
for (let i = 0; i < 10; i++) {
db.it.insert({
"key": "k" + i,
"value": "v" + i
})
}
如果想要覆盖这个id的话只需要这样写对象:
{_id: 0, "k1": "v1"}
删:删除文档
删除一个文档:db.集合名.deleteOne(filter, options)
删除多个文档:db.集合名.deleteMany(filter, options)
删除文档:db.集合名.remove(filter, options)
db.集合名.remove(条件 [,是否删除一条])
# 条件 - 删除k1中包含v1的文档
db.it.deleteOne({ "k1": "v1" })
# 是否删除一条
- false删除多条,即全部删除(默认)
- true删除一条
改:修改文档
db.集合名.update(条件, 新数据 [,是否新增, 是否修改多条])
# 新数据
- 默认是对原数据进行替换
- 若要进行修改,格式为 {修改器:{key:value}}
# 是否新增
- 条件匹配不到数据时是否插入: true插入,false不插入(默认)
# 是否修改多条
- 条件匹配成功的数据是否都修改: true都修改,false只修改一条(默认)
修改器 | 作用 |
---|---|
$inc | 递增 |
$rename | 重命名列 |
$set | 修改列值 |
$unset | 删除列 |