Mongo非关系型数据库

news2024/11/23 11:24:45

 

 

  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/58688.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PDF Shaper Pro v12.8 全能PDF工具箱中文版

PDF Shaper 是一款实用的全能PDF工具箱&#xff01;这款PDF转换器包含了很多非常实用的PDF工具&#xff0c;可以轻松的把 PDF 转成 Word&#xff0c;PDF 转图像&#xff0c;PDF 加密等等。它还可以合并&#xff0c;分割&#xff0c;加密和解密 PDF&#xff0c;图像转换为 PDF&a…

Python学习笔记-序列

用于记述python中对于序列的应用&#xff0c;包括列表、元组、字典、集合、字符串等。 1.序列

我看世界杯

目录 写在前面 正文 第一次看世界杯 我看重的球队 写在最后 写在前面 说实话&#xff0c;第一次接触足球还是在小学阶段&#xff0c;现在已经记不清那是在哪里搞来的&#xff0c;反正是挺破烂的&#xff0c;外面的五边形布料都已经脱落&#xff0c;都能露出里面的布料&…

java EE初阶 — volatile关键字保证内存可见性

文章目录1.volatile保证内存可见性1.1 如何保证内存可见性1.2 java 内存模型&#xff08;JMM&#xff09;2.volatile 不保证原子性1.volatile保证内存可见性 先来看一段代码 package thread;import java.util.Scanner;class MyCounter {public int flag 0; }public class Th…

Qt实现编辑框失去焦点隐藏功能

今天来为大家分享一个小功能&#xff0c;首先看实现的效果吧~ 功能讲解&#xff1a; QLineEdit控件进行文本编辑&#xff0c;点击保存按钮后&#xff0c;隐藏编辑框和保存按钮&#xff0c;仅展示编辑内容&#xff0c;当鼠标点击空白处时&#xff0c;同样隐藏编辑框、隐藏保存按…

Dubbo前后端分离监控中心搭建

监控中心&#xff0c;因为监控中心现在前后端分离&#xff0c;所以相比与老版有变动&#xff0c;首先下载压缩包 官网: https://github.com/apache/dubbo-admin/tree/develop 下载安装包&#xff0c;使用IDEA打开解压好的dubbo-admin-develop文件夹&#xff0c;稍等片刻让Mav…

CTFHUB-web-RCE

eval执行 <?php if (isset($_REQUEST[cmd])) {eval($_REQUEST["cmd"]); } else {highlight_file(__FILE__); } ?> 看下当前目录 ?cmdprint_r(getcwd());可以执行命令 print_r(system(ls));查看上级目录?cmdprint_r(system(ls ../../../)); 直接cat flag?c…

使用模拟退火(SA)和Matlab的车辆路径问题(VRP)(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

signature verification failed csb502报错

因为这个报错特意搜了下csb是个什么东西。 简单说csb就是云服务总线&#xff0c;提供API对外开放能力&#xff0c;提供认证鉴权:访问签名&#xff0c;检查请求是否合法&#xff0c;是否已授权的。 从前端角度来看&#xff0c;就是 1.客户端通过接口发起请求&#xff0c;携带必要…

SpringBoot+Vue项目餐饮管理系统

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

放弃60万年薪考公!程序员完败公务员?

都说宇宙的尽头是考公&#xff0c;受到疫情的影响&#xff0c;我国的考公队伍也是越来越庞大。 考公队伍中不乏程序员。在某平台上&#xff0c;就有人分享了自己程序员朋友的考公经历&#xff1a; 发帖人的朋友原来是在阿里工作的&#xff0c;在他最高薪的时候能拿到60万的年薪…

栈的介绍以及使用数组模拟栈的入栈和出栈

❤️一名热爱Java的大一学生&#xff0c;希望与各位大佬共同学习进步❤️ &#x1f9d1;个人主页&#xff1a;周小末天天开心 各位大佬的点赞&#x1f44d; 收藏⭐ 关注✅&#xff0c;是本人学习的最大动力 感谢&#xff01; &#x1f4d5;该篇文章收录专栏—数据结构 目录 栈…

[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第三课 | Input/Gradient

📣📣📣本专栏所有内容在完结之前全部为试读模式,专栏完结之后会取消试读模式,如果感觉内容还不错的话请支持一下📣📣📣 ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。 本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的…

eBPF汇编指令你还不知道?看这一篇文就够了

【好文推荐】 一文看懂linux 内核网络中 RPS/RFS 原理 怎么在Windows下使用Makefile文件 浅析linux内核网络协议栈--linux bridge 大家好&#xff0c;我是你们的彦祖&#xff0c;今天这篇文主要介绍 eBPF 的指令系统&#xff0c;对于想深入理解 eBPF 的同学千万不要错过&#x…

实验五 计数/定时器的设计【Verilog】

实验五 计数/定时器的设计【Verilog】前言推荐实验五 计数/定时器的设计一、实验目的二、实验环境三、实验任务四、实验原理与实验步骤五、实验思考最后前言 以下内容源自Verilog实验 仅供学习交流使用 推荐 Verilog 实验五 计数/定时器的设计 一、实验目的 掌握二进制计…

计时器Timing Wheel 时间轮算法

文章目录1. 前言2. 什么是时间轮算法&#xff1f;2.1 单层时间轮2.2 多层时间轮2.2.1 增加轮次的概念2.2.2 多层次时间轮2.3 小结3. 实现案例3.1 Kafka中的时间轮3.1.1 任务的添加3.1.2 时间轮的推进SystemTimer3.1.3 小结1. 前言 计时器对于故障恢复、基于速率的流量控制、调…

[yolov5] yolo的数据标签格式

yolov5 的标签格式 参考链接&#xff1a; https://github.com/ultralytics/yolov5/issues/9816 翻译内容 你好!。感谢您询问YOLOv5&#x1f680;数据集格式。用于分割的XY坐标与用于长方体中心的标准坐标相同。 为了正确训练&#xff0c;您的数据必须为YOLOv5格式。有关数…

数据结构与算法的基本概念

前言 技术学得再多&#xff0c;再好还不如将基础学扎实。欠下的迟早是要还的。与其在以后后悔当初不好好学&#xff0c;还不如在大学期间将该学的知识学透。《数据结构与算法》确实不好学&#xff0c;但大学四年下来&#xff0c;还怕啃不下一本书&#xff1f;&#xff1f;正是基…

自动驾驶技术

高精地图&#xff08;HD Maps&#xff09;&#xff1a;支持其他模块 定位&#xff08;Localization&#xff09;&#xff1a;讨论汽车如何确定他所处的位置&#xff0c;汽车利用激光和雷达数据&#xff0c;将这些传感器感知内容与高分辨地图进行对比&#xff0c;这种对比使得汽…

Scanpy plot umap的color编码, Scanpy 的color map 如何设置?

Scanpy plot umap的color编码&#xff0c; Scanpy 的color map 如何设置&#xff1f;关键词palette&#xff08;调色板&#xff09; https://scanpy.readthedocs.io/en/stable/generated/scanpy.pl.umap.html?highlightpl.umap#scanpy.pl.umap https://scanpy.discourse.grou…