MongoDB 部署以及操作
目录1、MongoDB简介2、MongoDB优势3、MongoDB安装3、MongoDB用户管理3.1、Mongodb创建超级管理员3.2、MongoDB创建读写用户3.3、Moongodb指定库授权3.4、Mongodb用户登录3.5、Mongodb用户删除4、MongoDB基本操作4.1、Mongodb基础命令4.2、Mongodb库操作5、Mongodb集合及文档操作5.1、创建库和集合5.2、创建文档并插入数据5.3 ...
Mongodb 之 oplog
一开始我就以为 oplog 应该就类似于 mysql bin-log 而事实上,确实差不多。oplog 也是用于复制集间由 Primary 记录,Secondary 用来同步。从而保持数据一致。
最近遇到了误删db(删库不能跑路)的事情,所以,实验了N多次的 oplog 恢复数据。
特地记录一下,以备后查。
# ------------------------------ oplog ----- ...
MongoDB安装以及配置教程
MongoDB安装以及配置教程
安装的版本(mongo 3.4):
mongodb-win32-x86_64-2008plus-ssl-3.4.4-signed.msi
资源:
链接:https://pan.baidu.com/s/1Rb71jp-YJGHKXqcWL2fUKQ 提取码:tvpd
★如果嫌弃网盘限速可以点击下载下面这个小版本差别不大)
mongodb-win32-x86_64-2008plus-3.4.24-signed.msi
1. 安装M ...
mongodb分片集群 搭建 + keyFile认证
创建mongodb分片集群 + keyFile认证
一、环境准备
1. 服务器节点信息【三台服务器】 x.x.x.159、 x.x.x..160、 x.x.x..161 2. 服务器系统 linux x86_64 GNU/Linux 或者 centos7 或者 redhat 3. mongodb版本 mongodb ...
mongodb 设置账号和密码
mongodb密码和传统数据如mysql等有些区别: mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码。
1. 查看所有数据库(在mongodb新版本里并没有admin数据库,但是并不妨碍第2步操作。)
show dbs
2. 进入admin数据库
use admin
3. 创建管理员账户
db.createUser({ user: "adm ...
mongodb版本区别
据不完全统计,目前还有很多同学在生产环境使用着 MongoDB 2.x 版本的服务,偶尔也会听到一些抱怨,但有些抱怨其实很没道理,因为抱怨的问题在最新版本的MongoDB里已经解决了,你缺的只是一次版本升级。
1. 更安全的数据库
3.x 版本默认WriteConcern 为{w:1},2.x版本为 {w: 0}
3.x 默认使用更安全的 SCRAM-SHA-1 算法鉴 ...
mongoDB中聚合(aggregate)的具体使用
先来看一个分组的例子,本例中$group是一个管道操作符,获得的结果可以接着输出到下一个管道,而内部的$sum是一个表达式操作符。
参考链接
https://www.jianshu.com/p/72fc4409936c
用$group 举个例子
将document分组,用作统计结果
```
db.Ubisoft.aggregate([ // aggregate方法接收的是一个数组
{
...
MongoDB serverStatus详解
定义行为输出
定义
==serverStatusserverStatus命令返回一个文档,该文档提供数据库状态的概述。监控应用程序可以定期运行此命令收集有关该实例的统计信息。db.runCommand( { serverStatus: 1 } )
值(即1)不会影响命令的操作。同时mongo shell提供了db.serverStatus()封装该命令。注:serverStatus的大部分输出也动态显示 ...
实例讲解Springboot整合MongoDB进行CRUD操作的两种方式
1 简介
Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库。两者在分布式、微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合MongoDB的两种方法:MongoRepository和MongoTemplate。
代码结构如下:
2 项目准备
2.1 启动MongoDB实例
为了方便,使用Docker来启动MongoDB,详细指导文档 ...
MongoDB用户创建
MongoDB采用基于角色的访问控制(RBAC)来确定用户的访问。 授予用户一个或多个角色,确定用户对MongoDB资源的访问权限和用户可以执行哪些操作。 用户应该只有最小权限集才能确保最小权限的系统。
MongoDB系统的每个应用程序和用户都应该映射到不同的用户。 这种访问隔离便于访问撤销和持续的用户维护。
创建管理员用户
要在M ...
【Mongodb】事务
概述
Mongodb 4.0 支持副本集的多文档事务
Mongodb 4.2 支持分片集群的多文档事务
单个Server是不支持使用事务,所以要学习事务,需要搭建一个副本集/分片集群
另外需要说明是,单个文档操作是原子操作,而mongodb是文档型数据库,在单个文档上,可以嵌入对象/数组这种格式来维护数据的关系,而不应该使用多个集 ...
【Mongodb】视图 && 索引
准备工作
准备2个集合的数据,后面视图和索引都会用到1个订单集合,一个收款信息集合
var orders = new Array();
var shipping = new Array();
var addresses = ["广西省玉林市", "湖南省岳阳市", "湖北省荆州市", "甘肃省兰州市", "吉林省松原市", "江西省景德镇", "辽宁省沈阳市", "福建省厦门市", "广东省广州 ...
mongoDB的读写分离
一、读写分离相关的理论
1.1、ReadPreference读偏好
1.2脏数据
1.3复制集的缺点
1.4读隔离 Read Concern
1.5写确认 Write Concern
二、springboot中实现读写分离
2.1 MongoDB连接池指定读模式
2.2、在代码层面动态切换
一、读写分离相关的理论
1.1、ReadPreference读偏好
在副本集Replica Set ...
【Mongodb】聚合查询 && 固定集合
概述
数据存储是为了可查询,统计。若数据只需存储,不需要查询,这种数据也没有多大价值
本篇介绍Mongodb
聚合查询(Aggregation)
固定集合(Capped Collections)
准备工作
准备10000条数据
var orders = new Array();
for (var i = 10000; i < 20000; i++) {
orders = {
orderNo: i + Math.ra ...
Java实现对mongoDB的两表关联查询
Java实现对mongoDB的两表关联查询
记录一次学习java实现mongodb的两表关联查询的过程,方便日后需要用到的时候进行回顾。
场景:mongodb中有两张表,需要根据id进行关联查询。
表1数据如下:
表二数据如下:
实现两张表的关联查询,需要用到mongodb的lookup,在查询结果返回的时候,需要将没有结果集为空的数据过滤掉,此 ...
Centos7安装mongodb
1.打开官网按照官网流程进行
mongodb官网:https://www.mongodb.com/
2.配置程序包管理系统(yum)
创建一个/etc/yum.repos.d/mongodb-org-4.2.repo文件,以便您可以使用yum以下命令直接安装MongoDB :
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb ...
springboot集成mongodb实现动态切换数据源
主要实现原理,利用spring的aop 在切入点执行db操作之前 将数据库切换:
本例子采用aop在controller进行拦截 拦截到MongoTemplate.class 切换数据源后重新放回去 ,处理完成后将相关数据源的template删除
引入mongodb相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
...
SpringBoot学习笔记(十一:使用MongoDB存储文件 )
@目录一、MongoDB存储文件1、MongoDB存储小文件2、MongoDB存储大文件2.1、GridFS存储原理2.2、GridFS使用2.2.1、使用shell命令2.2.2、使用API二、SpringBoot整合MongoDB存储文件1、MongoDB存储小文件1.1、添加依赖1.2、配置1.3、模型层1.4、持久层1.5、服务层1.6、控制层1.7、工具类1.8、前端页面1.9、运行效果2、MongoDB ...
mongodb高级聚合查询
https://www.cnblogs.com/zhoujie/p/mongo1.html
mongodb高级聚合查询
在工作中会经常遇到一些mongodb的聚合操作,特此总结下。mongo存储的可以是复杂类型,比如数组、对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysql复杂很多。
注:本文基于 mongodb v3.6
目录
mongo与mysql聚合类比
ag ...
MongoDB聚合(aggregate)
https://www.cnblogs.com/wt7018/p/11929359.html
MongoDB聚合(aggregate)
一、基础
1、什么是聚合?
聚合是基于数据处理的聚合管道,每个文档通过一个有多个阶段(stage)组成的管道可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果
db.集合名称.aggregate({管道: {表达式 ...