上一讲生成了mongodb服务,这里可以手动启动
方式;windows+R -> services.msc -> 找到mongodb并启动
或者以管理员身份启动cmd,输入net start mongodb
然后可以在cmd中输入mongodb的命令了。
首先输入mongo (输入之后才可以启动mongodb命令)
便可以查看mongodb的一些信息
假如报错,可以将mongodb的bin文件夹路径添加到环境变量中
【添加数据库】
使用use 数据库名 (如果有这个数据库的表示切换到当前数据库进行操作)
eg: use adu
没有数据库就会自动创建数据库
【查看所有数据库】
show dbs
(空数据库不会显示,比如上面创建的adu)
【删除数据库】
db.dropDatabase() (这里的db是当前use的对象)
【创建集合】
集合相当于表
db.createCollection("aduya")
【删除集合】
db.aduya.drop()
(其中aduya为自定义集合名)
【展示所有集合】
show collections (这里是相对数据库而言的,也就是当前use的数据库)
【向集合中插入文档】
文档,相当于一行行数据
语法:
db.collection.insertOne() / db.collection.replaceOne() :如果 _id 主键存在则更新数据,如果不存在就插入数据。
db.collection.insert():若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。
括号中写入的是要插入的文档
格式:
db.collection.insertOne( <document>, { writeConcern: <document> } )
插入多条:
db.collection.insertMany( [ <document 1> , <document 2>, ... ], { writeConcern: <document>, ordered: <boolean> } )
其中,writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求
ordered:指定是否按顺序写入,默认 true,按顺序写入
实例:
db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库' })
【修改集合中的文档】
语法格式:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
说明:
query:更改条件,相当于where
update:update的对象和一些更新的操作符
upsert:如果不存在记录,是否插入新对象,默认是false,不插入,可选
multi:是否修改查询到的所有记录,默认是false,只更改第一个,可选
writeConcern:抛出的异常级别,可选
实例:
db.aduya.update({'addr':'wuhan'},{$set:{'name':'adus'}})
$set: 表示赋值
展示结果:
db.aduya.find().pretty()
pretty() 采用竖直排列,更直观一点。不使用的话,便会横向显示
还有另一种更新方法:
db.collection.save( <document>, { writeConcern: <document> } )
save()传入文档的形式直接覆盖原文档,如果id存在就覆盖,不存在就插入
未完待续,持续更新中...