


mongo三个概念

如何下载MongoDB
参考(5条消息) mongodb免安装配置_剑客916的博客-CSDN博客
(5条消息) MongoDB的安装配置教程(很详细,你想要的都在这里)_狮子座的男孩的博客-CSDN博客_mongodb配置
- 下载地址 Download MongoDB Community Server | MongoDB
- MongoDB的版本偶数版本为稳定版,奇数版本为开发版。
- MongoDB对于32位系统支持不佳,所以3.2版本以后没有再对32位系统的支持。






之后一直下一步

等待安装完成。

配置环境变量
配置path mongodb的bin目录位置

测试是否配置成功
在cmd命令框输入mongod 不报错即成功

在D盘根目录
创建一个文件夹 data
在data中创建一个文件夹 db

这个db就是默认的数据库,用来存放数据
打开cmd命令行窗口(注意这里要在mongo的bin目录下输入cmd)
输入 mongod --dbpath D:\data\db 启动mongodb服务器
注意: 32位系统第一次启动:输入如下内容,64位忽略
mongod --storageEngine=mmapv1

再打开一个cmd窗口 输入 mongo 连接mongodb, 出现 > 就成功了

此时D:\data\db目录下多了很多文件

mongod --dbpath D:\data\db --port 10086
--dbpath 指定数据库路径
--port 指定端口号 最大不要超过65535
数据库(database)
- 数据库的服务器
服务器用来保存数据
1. mongod 用来启动服务器(在一个命令窗口输入)
- 数据库的客户端
客户端用来操作服务器,对数据进行增删改查的操作
2. mongo 用来启动客户端(在另一个命令窗口输入,之前那个不要关闭)

mongodb设置为系统服务(可以自动在后台启动,不需要每次都手动启动)
1.在刚刚创建的data目录下创建logs文件夹

在mongo的bin目录同级创建一个mongod.cfg文件里面配置 这里截图少了d
systemLog:
destination: file
path: d:\data\logs\mongo.log
storage:
dbPath: d:\data\db


以管理员的身份打开命令行窗口
执行如下的命令
sc.exe create MongoDB binPath= "\"D:\mongoDB\bin\mongod.exe\" --service --config=\"D:\mongoDB\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

高版本默认带的有,不需要配置
打开任务管理器 打开服务 启动mongo服务

此时没有一个命令窗口,打开一个新的 输入 mongo

如果启动失败,证明上边的操作有误,
在控制台输入 sc delete MongoDB 删除之前配置的服务
然后从第一步再来一次

我这里理解是就是集合就像是一张表,文档就是每条数据(行数据)。

基本使用
基本概念:
数据库(database)
集合(collection)
文档(document)
在MongoDB中,数据库和集合都不需要手动创建
当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合
基本指令:
show databases
show dbs
显示当前的所有数据库

use 数据库名 进入到指定的数据库中

db 表示的是当前所在的数据库

show collections 显示数据库中所有的集合
数据库的CRUD的操作
MongoDB CRUD操作_MonogDB 中文网
向数据库中插入文档
db.<conllection>.insert(doc)
向集合插入一个文档
例子:向test数据库中,stus集合中插入一个新的学生对象
{name:"孙悟空",age:18,gender:"男"}
db.stus.insert({name:"孙悟空",age:18,gender:"男"})

db.<collection>.find() 查询集合中的文档

下载可视化freeware
Download NoSQL Manager for MongoDB (mongodbmanager.com)
(5条消息) NoSQL Manager for MongoDB Freeware安装配置_Space Tripper的博客-CSDN博客_nosql manager for mongodb freeware

向数据库插入文档
db.<collection>.insert()
- 向集合中插入一个或多个文档
- 当我们向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动为文档添 加_id 该属性用来文档的唯一标识
- _id我们可以自己指定,如果我们指定了数据库就不会在添加了,如果自己指定_id也必 须确保他的唯一性
db.stus.insert({name:"zhubajie",age:437,gender:"nan"});
db.stus.insert([
{name:"zhubajie1",age:437,gender:"nan"},
{name:"zhubajie2",age:437,gender:"nan"},
{name:"zhubajie3",age:437,gender:"nan"}
]);
db.collection.insertOne() 插入一个文档对象
db.collection.insertMany() 插入多个文档对象
查询
db.<collection>.find()
- find() 用来查询集合中所有符合条件的文档
- find()可以接受一个对象作为条件参数
{}表示查询集合中所有的文档
{属性:值} 查询属性是指定值的文档
db.stus.find({name:"zhubajie"})同时满足多个条件
db.stus.find({name:"zhubajie",age:999})db.<collection>.findOne() 用来查询集合中符合条件的第一个文档
findOne()返回的是一个文档对象
db.stus.findOne({age:28}).name;
db.<collection>.find().count()或者db.<collection>.find().length()返回个数
修改
db.<collection>.update(查询条件,新对象);
- update() 默认情况下会使用新对象来替换旧的对象
- 如果要修改指定的属性,而不是替换需要使用"修改操作符"来完成修改
$set 可以用来修改文档中的指定属性
db.stus.update( {"_id":ObjectId("638afc9ef65437555a3942dd")}, {$set:{ name:"lalalala", address:"ancoanc" }} )$unset 用来删除文档的指定属性 address后边无所谓
db.stus.update( {"_id":ObjectId("638afc9ef65437555a3942dd")}, {$unset:{ address:"ancoanc" }} )update默认只会修改一个 比如两个name为猪八戒 ,只有一个会被修改
update修改多个
db.<collection>.updateMany() 同时修改多个符合条件的文档
db.<collection>.updateOne() 修改一个符合条件的文档
db.<collection>.replaceOne() 替换一个符合条件的文档
删除
db.<collection>.remove() 可以根据条件来删除文档,传递的条件的方式和find()一样
remove() 删除符合条件的所有文档
如果remove()第二个参数传递一个true,则只会删除一个
如果只传递一个空对象作为参数,则会删除集合中的所有文档
db.<collection>.remove({});
db.<collection>.deleteOne()
db.<collection>.deleteMany()
db.stus.drop(); 删除集合,集合都会删除
db.dropDatabase();删除数据库
内嵌文档查询操作:属性要加单引号

$push向数组中添加一个新的元素 允许重复
$addToSet 向数组中添加一个新元素 如果存在则不添加,不存在添加




查看numbers集合中的第11条到第20条数据 也就是分页

mongodb整合springboot
(5条消息) spring cloud集成MongoDB_普通网友的博客-CSDN博客_springcloud集成mongodb


















![[yolov5] yolo的数据标签格式](https://img-blog.csdnimg.cn/9f9ed4ca2da248468309a9418c4c40a7.png)

