通过docker安装MongoDB2019

通过docker安装MongoDB

docker pull mongo:4.0.3
#创建容器
docker create --name mongodb -p 27017:27017 -v /data/mongodb:/data/db mongo:4.0.3
#启动容器
docker start mongodb
#进入容器
docker exec -it mongodb /bin/bash
#使用MongoDB客户端进行操作
mongo > show dbs #查询所有的数据库
*

基本概念

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域

index index 索引

table joins 表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

数据库及表操作

#查看所有的数据库

show dbs admin
0.000GB
config 0.000GB
local 0.000GB
#通过use关键字切换数据库
use admin
switched to db admin
#创建数据库 #说明:在MongoDB中,数据库是自动创建的,通过use切换到新数据库中,进行插入数据即可自动创建数据库
use testdb
switched to db testdb
show dbs #并没有创建数据库
admin 0.000GB config 0.000GB local 0.000GB > db.user.insert({id:1,name:‘zhangsan’}) #插入数据 WriteResult({ “nInserted” : 1 }) > 》
show dbs admin 0.000GB config 0.000GB local 0.000GB testdb 0.000GB #数据库自动创建 #查看表
show tables
user
show collections user #删除集合(表)
db.user.drop()
true #如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。 #删除数据库
use testdb #先切换到要删除的数据中 switched to db testdb
db.dropDatabase() #删除数据库
{ “dropped” : “testdb”, “ok” : 1 }
show dbs
admin 0.000GB
config 0.000GB
local 0.000GB 这里是引用

新增数据
#插入数据
#语法:db.COLLECTION_NAME.insert(document)

db.user.insert({id:1,username:‘zhangsan’,age:20})
WriteResult({ “nInserted” : 1 })
db.user.save({id:2,username:‘lisi’,age:25})
WriteResult({ “nInserted” : 1 })
db.user.find() #查询数据
{ “_id” : ObjectId(“5c08c0024b318926e0c1f6dc”), “id” : 1, “username” : “zhangsan”, “age” : 20 } { “_id” : ObjectId(“5c08c0134b318926e0c1f6dd”), “id” : 2, “username” : “lisi”, “age” : 25 }

更新数据

db.collection.update(
,
,
[
upsert: ,
multi: ,
writeConcern:
]
)
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如 inc…)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是
false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条
记录全部更新。
writeConcern :可选,抛出异常的级别。

db.user.find()
{ “_id” : ObjectId(“5c08c0024b318926e0c1f6dc”), “id” : 1, “username” : “zhangsan”, “age” : 20 }
{ “_id” : ObjectId(“5c08c0134b318926e0c1f6dd”), “id” : 2, “username” : “lisi”, “age” : 25 }
db.user.update({id:1},{KaTeX parse error: Expected 'EOF', got '}' at position 13: set:{age:22}}̲)#更新数据 WriteR…set:{sex:1}}) #更新数据
db.user.find()
{ “_id” : ObjectId(“5c08c0024b318926e0c1f6dc”), “age” : 25 }
{ “_id” : ObjectId(“5c08c0134b318926e0c1f6dd”), “id” : 2, “username” : “lisi”, “age” : 25, “sex” : 1 } #更新不存在的数据,默认不会新增数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值