【mongoDB数据库基本操作】

mongoDB数据库基本操作

连接mongoDb服务器
进入到mongoDb安装目录

cd /data/mongodb/bin
在这里插入图片描述

使用./mongo连接到本地服务器& 打开一个命令窗口:
在这里插入图片描述

1、连接/创建数据库

使用 ./mongo 连接到服务器后,切换到指定的数据库:
use + 数据库名
若不存在会创建
在这里插入图片描述
因为是空的数据库,所以show dbs时也是空的:
连接到yapi数据库:
在这里插入图片描述

2、查看数据库

查看当前的数据库是哪个
show dbs或者show databases
在这里插入图片描述

3、删除数据库

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({})
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42808782/article/details/131189858