MongoDB数据库 5分钟快速上手
安装
本次安装使用docker镜像,安装无障碍,一行命令即可解决
# 安装镜像并启动 可以自行修改命令中的参数
## 账户 tanoak 密码 123123
## -p 27018:27017 映射端口,并开启远程访问
docker run -p 27018:27017 -d --name my-mongo -e MONGO_INITDB_ROOT_USERNAME=tanoak -e MONGO_INITDB_ROOT_PASSWORD=123123 mongo:latest
# 进入doceker容器内部
docker exec -it my-mongo /bin/bash
安装完成后推荐使用 Manager for MongoDB这个连接工具。
基本操作-CRUD
//查看所有数据库
show dbs
//创建数据库||切换数据库
use db2
//删除数据库
db.dropDatabase()
{"dropped":"db2,"ok":"1"}
//创建集合
db.createCollection("score")
//查看所有集合
show collections
//删除集合
db.student.drop()
//插入文档,自动创建集合
db.student.insert({"name":"abc"})
db.student.insert({name:"abc",age:22})
db.student.insert({name:"dbc",age:22})
//修改单条
db.student.update({age:22},{$set:{name:'张三'}})
//修改多条
db.student.update({age:22},{$set:{name:'李四'}},{multi:true})
db.student.find().pretty()
db.student.remove({age:22})
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
查询
在开发中查询的操作最为复杂,所以单独抽取出来
- Test Data
db.people.insert({
name:"李四",
description:"性格羞涩",
sex:"女",
likes:250
})
db.people.insert({
name:"张三",
description:"性格开朗",
sex:"男",
likes:250
})
db.people.insert({
name:"王五",
description:"性格豪迈",
sex:"男",
likes:230
})
- 查询关键词介绍
db.people.find({sex:{$type:2}}).limit(2).skip(2)
# 排序 1升序,-1 降序
db.people.find({sex:{$type:2}}).limit(3).sort({name:-1})
db.people.find( { $and: [ { sex: { $ne:'男'} }, { name: '李四' } ] } )
#例子都类似,可以自行测试
$and => '类似于 SQL中 AND'
$or => '类似于 SQL中 OR'
$nin => '等同于 SQL中 NOT IN'
$in => '等同于 SQL中 IN'
$lt => '等同于 SQL中<'
$lte => '等同于 SQL中<='
$gt => '等同于 SQL中>'
$gte => '等同于 SQL中>='
$ne => '等同于 SQL中!='
- type
参考资料: