mongoDB 基本命令使用
- mongoDB数据库基本操作
- 1、连接/创建数据库
- 3、查看数据库
- 4、删除数据库
- 表的基本操作
- 1、创建表
- 2、删除表
- 3、查询表
- 4、更新表
- 删除表中的记录
mongoDB数据库基本操作
连接mongoDb服务器
进入到mongoDb安装目录
cd /data/mongodb/bin
使用./mongo连接到本地服务器& 打开一个命令窗口:
1、连接/创建数据库
使用 ./mongo 连接到服务器后,切换到指定的数据库:
use + 数据库名
若不存在会创建
因为是空的数据库,所以show dbs时也是空的:
连接到yapi数据库:
3、查看数据库
查看当前的数据库是哪个
show dbs或者show databases
4、删除数据库
db.dropDatabase()
删除当前数据库
表的基本操作
在mongoDB中,表就是集合
想要对表进行操作,需要先连接到对应的数据库,并且认证通过后才能进行表的增删改查等。
如果没有认证就操作表会报错:
通过auth命令进行认证:
- 格式:db.auth(“用户名”,“密码”)
- 示例如下
返回1表示认证成功,之后即可进行数据表的操作了
1、创建表
可以用insert 记录的方式创建一个有记录的表
也可以用createCollection 关键字创建一个空表
2、删除表
在mongoDB中表就说集合
使用db.集合名.drop() 删除表
3、查询表
使用db.集合名.find() 查询集合的所有记录
4、更新表
Insert一条记录
db.集合名.insert(document)
或
db.集合名.save(document)
其中
- save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用db.collection.insertOne() 或db.collection.replaceOne() 来代替。
- insert(): 若插入的数据主键已经存在,则会抛
org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据
实例
update 更新记录
语法如下
db.collectio_name.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
})
参数说明
- query : update 的查询条件,类似 sql update 查询内 where 后面的。
- update : update 的对象和一些更新的操作符(如, ,inc…)等,也可以理解为 sql update 查询内 set 后面的
- upsert : 可选,这个参数的意思是,如果不存在 update 的记录,是否插入objNew,true 为插入,默认是false,不插入。
- multi : 可选,mongodb 默认是 false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern :可选,抛出异常的级别。
实例
把testCreateTable集合中name=cuicj2的更新成3
testCreateTable.update({name:‘cuicj2’},{$set:{name:‘cuicj3’}});
等同于 update testCreateTable set name=’cuicj3‘ where name=‘cuicj2’
默认集合中存在多条记录时只更新匹配的第一条记录,因为参数multi的默认值是false(只更新第一条),需要更新全部匹配的记录时则需要把这个字段值设置为true
也就是
testCreateTable.update({name:‘cuicj2’},{$set:{name:‘cuicj3’}},false,true);
删除表中的记录
MongoDB remove()函数是用来移除集合中的数据。在执行 remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。语法如下:
db.collection_name.remove(
<query>,
<justOne>)
}
参数说明:
- query :(可选)删除的文档的条件。
- justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值
- false,则删除所有匹配条件的文档。
例如:
db.testCreateTable.remove({‘name’:‘cuicj3’})
示例:
如果只想删除第一条找到的记录可以设置 justOne 为 1,如下所示:
db.collection_name.remove(删除条件,1)
示例
如果你想删除所有数据,可以使用以下方式:
db.testCreateTable.remove({})