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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值