• Mongo非关系型数据库


     

     

      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

    1. systemLog:
    2. destination: file
    3. path: d:\data\logs\mongo.log
    4. storage:
    5. 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..insert(doc)

                    向集合插入一个文档

                    例子:向test数据库中,stus集合中插入一个新的学生对象

                    {name:"孙悟空",age:18,gender:"男"}

                    db.stus.insert({name:"孙悟空",age:18,gender:"男"})

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

     下载可视化freeware

    Download NoSQL Manager for MongoDB (mongodbmanager.com)

    (5条消息) NoSQL Manager for MongoDB Freeware安装配置_Space Tripper的博客-CSDN博客_nosql manager for mongodb freeware

    向数据库插入文档

            db..insert()

            - 向集合中插入一个或多个文档

            - 当我们向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动为文档添             加_id   该属性用来文档的唯一标识

            - _id我们可以自己指定,如果我们指定了数据库就不会在添加了,如果自己指定_id也必 须确保他的唯一性

    1. db.stus.insert({name:"zhubajie",age:437,gender:"nan"});
    2. db.stus.insert([
    3. {name:"zhubajie1",age:437,gender:"nan"},
    4. {name:"zhubajie2",age:437,gender:"nan"},
    5. {name:"zhubajie3",age:437,gender:"nan"}
    6. ]);

    db.collection.insertOne()  插入一个文档对象

    db.collection.insertMany()  插入多个文档对象

    查询

            db..find()

            - find() 用来查询集合中所有符合条件的文档

            - find()可以接受一个对象作为条件参数

                    {}表示查询集合中所有的文档

                    {属性:值} 查询属性是指定值的文档

    db.stus.find({name:"zhubajie"})

    同时满足多个条件

    db.stus.find({name:"zhubajie",age:999})

    db..findOne() 用来查询集合中符合条件的第一个文档

    findOne()返回的是一个文档对象

    db.stus.findOne({age:28}).name;

    db..find().count()或者db..find().length()返回个数

    修改

            db..update(查询条件,新对象);

            - update() 默认情况下会使用新对象来替换旧的对象

            - 如果要修改指定的属性,而不是替换需要使用"修改操作符"来完成修改

               $set 可以用来修改文档中的指定属性

    1. db.stus.update(
    2. {"_id":ObjectId("638afc9ef65437555a3942dd")},
    3. {$set:{
    4. name:"lalalala",
    5. address:"ancoanc"
    6. }}
    7. )

              $unset 用来删除文档的指定属性   address后边无所谓

          

    1. db.stus.update(
    2. {"_id":ObjectId("638afc9ef65437555a3942dd")},
    3. {$unset:{
    4. address:"ancoanc"
    5. }}
    6. )

     update默认只会修改一个  比如两个name为猪八戒 ,只有一个会被修改

     update修改多个

     db..updateMany()      同时修改多个符合条件的文档

     db..updateOne()        修改一个符合条件的文档

     db..replaceOne()          替换一个符合条件的文档

    删除

            db..remove()  可以根据条件来删除文档,传递的条件的方式和find()一样

            remove() 删除符合条件的所有文档

                            如果remove()第二个参数传递一个true,则只会删除一个

            如果只传递一个空对象作为参数,则会删除集合中的所有文档

            db..remove({});

            db..deleteOne() 

            db..deleteMany()  

    db.stus.drop(); 删除集合,集合都会删除

    db.dropDatabase();删除数据库

    内嵌文档查询操作:属性要加单引号 

    $push向数组中添加一个新的元素  允许重复

    $addToSet 向数组中添加一个新元素   如果存在则不添加,不存在添加

     

     

     

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

    mongodb整合springboot

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

  • 相关阅读:
    Java——Map,Set
    C#:实现计算两个点之间的球面距离算法(附完整源码)
    逻辑回归评分卡
    2023_Spark_实验十七:导入招聘大数据(项目)
    springboot中如何进行测试用例数据的随机设定
    NIO讲解
    Office365 Excel中使用宏将汉字转拼音
    Day10--渲染tarBar上的数字徽标
    Android学习笔记 57. 了解API级别和兼容性
    日常梳理-常用注解
  • 原文地址:https://blog.csdn.net/weixin_68509156/article/details/128159425