安装MongoDB
下载MongoDB镜像:docker pull mongo
创建并启动容器:docker run --name=mongo -p 27017:27017 -v D:\MongoDB\data:/data/db
-d mongo
Docker容器运行结束后,数据会丢失,这对MongoDB而言,是不可接受的,所以需要将容器中产生的数据保存到本地对应文件中。-v参数指定数据持久化路径。
基本操作
// 创建和切换数据库,数据库不存在则创建,否则切换到指定数据库 use test // 当前数据库 db // 查看所有数据库(数据库没有数据的不会显示出来) show dbs
插入数据
MongoDB中没有直接创建表的命令,表名在插入数据时指定。
// 向user表插入一条数据 db.user.insert({ "name": "zs", "age": 18 }) // 查询user表中数据 db.user.find() // 可以使用pretty对查询结果进行格式化 db.user.find().pretty() // 删除集合中所有数据,包括索引,删除速度快 db.user.drop() // 批量插入数据 db.user.insert([{ "name": "zs", "age": 18 }, { "name": "zs2", "age": 19 }, { "name": "zs3", "age": 20, "hobby": "code" }]) // db.user.find({ "age": 20, "name": "zs3" }, { "_id": 0 })
db.collection.find(query, projection)
- query(可选):该参数指定查询条件,是一个JSON对象,key一般为查询列名,value为查询匹配值
- projection(可选):如果省略该参数,那么查询时返回文档中所有键值。该参数是一个JSON 对象,key为需要显示的列名,value为1显示或0不显示
更新数据
db.user.update({ "name": "zs4" }, { $set: { "age": 21 } })
进阶操作
范围操作符
- 等于 :
- 小于 lt,小于等于 lte
- 大于 gt,大于等于 gte
- 不等于 ne
db.user.find({ "age": { $gte: 19 } })
AND操作符
find()方法可以传入多个key,每个key以逗号隔开。每个key之间是与的逻辑关系,即条件间默认关系就是AND。
db.user.find({ "age": { $gte: 19 }, "name": "zs3" })
OR操作符
关键字$or表示或逻辑关系。
db.user.find({ $or: [ { "age": { $lte: 19 } }, { "name": "zs3" } ] })
AND操作符和OR操作符可以混合使用。
排序
db.user.find().sort({ age: - 1 })
1为升序,-1为降序。
聚合
db.user.insert({ "name": "zs4", "age": 18 }) db.user.aggregate([ { $group: { _id: { age: '$age' }, totalCount: { $sum: 1 } } } ])
- 转载请保留原文链接:Docker安装MongoDB https://aboss.top/post/796/
- 本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
- 本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
- 本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
- 联系方式(#替换成@):mail#aboss.top
评论