《HelloGitHub》第 68 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!
简介
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
https://github.com/521xueweihan/HelloGitHub
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编 ...
记一次 .NET 某电商无货源后端服务 死锁分析
一:背景
1. 讲故事
这个月初,星球里的一位朋友找到我,说他的程序出现了死锁,怀疑是自己的某些写法导致mongodb出现了如此尴尬的情况,截图如下:
说实话,看过这么多dump,还是第一次遇到真实的死锁,这tmd的顿时就有了兴趣。。。 上 windbg 说话。
二:Windbg 分析
1. 真的是死锁吗
既然朋友说死锁,我得先验证一下,可 ...
MongoDB版本升级指南
MongoDB官方文档提供了版本升级的说明,本文只介绍3.0==>3.2==>3.4==>3.6==>4.0==>4.2之间的升级文档,其他版本之间的暂不添加,可自行到官网搜索。
注意:MongoDB的升级路径必须是按偶数版本循序渐进的(偶数版本一般是稳定版本)。不能直接跨偶数版本的由3.2升级至3.6或者3.4升级至4.0。
一、3.2==>3.4
Upgrade a Standalo ...
MongoDB安装和配置
官网下载5.0.3, 并安装. Windows下安装后并选择使用windows 服务来启动mongo服务.
======================================
免密登录
======================================
初次登录, 打开 mongo.exe 客户端, 不需要输入用户密码就能登录, 安全性不高, 后面介绍如何加上安全认证.
在mongo.ex ...
mongoDB -- 全文索引
概要:
对于几百万条数据,并发又不是很高,查询不是很复杂的情况下,前期就直接使用 elasticsearch,solr有点大材小用,就算后期确实数据庞大,查询复杂,再用elasticsearch 也就是分分钟的事情
使用:
重新建立索引: 通常创建索引生效时间是当前,对历史数据不建立索引,可以reIndex()
db.mycollection.reIndex();
...
MongoDB中如何优雅地删除大量数据
删除大量数据,无论是在哪种数据库中,都是一个普遍性的需求。除了正常的业务需求,我们需要通过这种方式来为数据库“瘦身”。
为什么要“瘦身”呢?
表的数据量到达一定量级后,数据量越大,表的查询性能会越差。
毕竟数据量越大,B+树的层级会越高,需要的IO也会越多。
表的数据有冷热之分,将很多无用或很少用到的数 ...
spring boot 连接mongoDB
一、引入依赖,配置连接信息
依赖:
<!--mongodb依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
配置信息:
application.yml
s ...
MongoDB数据损坏恢复
概要:MongoDB元数据损坏,通过自身--repair无法修复,使用更高版本--repair修复。
背景
MongoDB 3.2.6单点,因存储空间耗尽停止,修复存储空间后启动失败。
以下内容使用v3.2.22替代v3.2.6进行复盘,使用数据来自故障现场的备份,即v3.2.6的数据,特此说明。
启动日志:
2021-10-16T16:55:34.784+0800 I CONTROL [in ...
mongodb 设置 ssl
# mongodb ssl详细配置
准备:确保openssl可用;
1. #### 生成根证书
``` openssl req -out ca.pem -new -x509 -days 3650 -subj "/C=CN/ST=BeiJing/O=bigdata/CN=root/emailAddress=156*******9@163.com" #生成需要设置密码 参数说明 -new:表示生成一个新证书签署请求 -x509:专用于CA生成自签证书,如 ...
C# 玩转MongoDB(一)
随着NoSQL的应用越来越广泛,很多面试都需要熟悉了解NoSQL【如:Redis,MongoDB等】,本文以一个简单的小例子,简述如何通过C#来操作MongoDB,进行数据的读写操作,仅供学习分享使用,如有不足之处,还请指正。
涉及知识点
MongoDB的基础知识,CRUD(增删改查)等【关于MongoDB的基础知识,如果不太了解的,可参考前面几篇博 ...
MongoDB 文档数据格式:BSON
文档数据格式:BSON
概览
在本指南中,您可以了解 BSON 数据格式、MongoDB 如何使用它以及如何独立于 MongoDB Java 驱动程序安装 BSON 库。
BSON 数据格式
BSON或二进制 JSON 是 MongoDB 用于组织和存储数据的数据格式。此数据格式包括所有 JSON 数据结构类型,并增加了对日期、不同大小整数、ObjectId 和二进 ...
MySQL、Redis、MongoDB网络抓包工具
简介
go-sniffer 可以抓包截取项目(MySQL、Redis、MongoDB)中的请求并解析成相应的语句,并格式化输出。类似于在之前的文章 MySQL抓包工具:MySQL Sniffer【转】中介绍的mysql-sniffer。而 go-sniffer 可以对更多数据库进行抓包分析,现在来介绍在什么情况下会使用该工具的。
使 ...
mongodb 增量同步之 MongoShake(1)
概要:
目的:增量同步mongodb 的数据(mongo需集群,或者副本集模式)
1.官网文档
2 基本安装,启动,监控
3.小试牛刀,最佳实践
0.官网文档:
github: https://github.com/alibaba/MongoShake/
releases: https://github.c ...
mongodb常用查询语法
1.$match的使用
#match 用于对数据进行筛选{"$match":{"字段":"条件"}},可以使用任何常用查询操作符$gt,$lt,$in等#例1、select * from db1.emp where post='teacher'; # mysql的查询语句db.emp.aggregate({"$match":{"post":"teacher"}}) #mongo的查询语句#例2、select * from db1.emp where id > 3; db.emp.aggr ...
【MongoDB】C# .Net MongoDB常用语法
1.1.驱动安装
使用NuGet包管理器安装MongoDB C#驱动:MongoDB.Driver
1.2. C#连接MongoDB
//获取MongoDB连接客户端
MongoClient client = new MongoClient("mongodb://root:root@localhost:27017");
//获取数据库
var database = client.GetDatabase("mongtestdb");
//获取集合
var collection = database.GetCollecti ...
MongoDB
MongoDB 基础操作
1. MongoDB 相关概念
1.1 简介
1、MongoDB是一个开源、 高性能、 无模式(没有具体的列,不需要像关系型数据库一样创建表的时候将列创建出来)的文档型数据库,是NoSQL数据库。
2、它使用 bson 格式存储数据(二进制的 json),类似于 json 格式,它既可以存储比较复杂的数据类型,又相当的灵活。
3、Mong ...
mongodb 创建用户
mongodb登陆需要创建用户,你可以在服务启动时配置要创建的用户.但是root用户只能在admin库里使用,如果要获取生产可用的登陆用户,需要再创建新的用户.
创建
db.createUser(
{
user: "liu3",
pwd: "123456",
roles: [ { role: "readWrite", db: "admin" }, "readWrite" ]
}
)
这里要说明的是,如果没有在role ...
Linux安装mongodb
一、安装mongoDB
##1.进入指定的目录位置
cd /usr/local
##2.创建mongodb文件夹
mkdir mongodb
##3.进入创建的mongodb文件夹
cd mongodb
##4.wget下载mongoDb安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.7.tgz
##5.解压下载的mongoDb安装包
tar -zxvf mongodb-linux-x86_64-4.0.7.tgz
# ...
阿里云服务器部署mongodb
在阿里云上买了个服务器,部署mongodb遇到一些坑,解决办法也是从网上搜集而来,把零零碎碎的整理记录一下。
服务器是:Alibaba Cloud Linux
下载安装
mongodb官网下载实在是太慢,可以从阿里镜像安装:阿里MongoDb镜像
使用yum安装
在/etc/yum.repos.d目录下添加mongodb-org.repo文件cd /etc/yum.repos.d
vim mongodb-or ...
第一章 Net 5.0 快速开发框架 YC.Boilerplate--框架介绍
YC.Boilerplate 框架介绍
YC.Boilerplate 是一套快速开发框架,采用当下流行的前后端分离开发模式,前端 采用VUE、后端采用Net 5.0;框架实现了 多租户、动态webApi、多种ORM、IOC、数据库表和业务代码生成等等一系列模块,并开发了用户管理、角色权限、组织机构、 数据字典、审计日志等常规功能,前后端代码一键生成。
框 ...