
mongodb
xiaoliuliu2050
这个作者很懒,什么都没留下…
展开
-
MongoDB kill 慢线程
1 查看当前进程的操作db.currentOp();{ inprog: [{ "opid" : 18 , "op" : "query" , "ns" : "mydb.votes" ,"query" : "{ score : 1.0 }" , "inLock" : 1 } ]}字段:opid - 一个增长的操作数.用于killOp().op - 操作类型 (查询, 更新, 等.)ns - 操作的命名空间 (数据库+ 集合名称)query - 如果操作是个查询,显示条件。lockTy...原创 2021-06-24 09:36:21 · 1461 阅读 · 0 评论 -
mongo 连接数不够怎么办?
MongoDB 提示超过连接数 一般都会想到增加连接数其实我们换个思路应该想一下,我们的服务 在从MongoDB 里 存取数据是不是太慢了,导致MongoDB线程被沾满了所以才出现这个问题所以 问题就变成了,如何优化MongoDB的查询1 查找慢查询MongoDB 查询2 建立索引。https://blog.csdn.net/xiaoliuliu2050/arti...原创 2020-03-21 13:10:34 · 596 阅读 · 0 评论 -
mongo监控工具 mongostat
常用命令格式:mongostat --host 192.168.1.100:27017 -uroot -p123456 --authenticationDatabase admin参数说明:host:指定IP地址和端口,也可以只写IP,然后使用--port参数指定端口号-u: 如果开启了认证,则需要在其后填写用户名-p: 不用多少,肯定是密码--authentication...原创 2019-11-19 14:50:44 · 128 阅读 · 0 评论 -
mongo 生产环境指南(11)
本文是翻译MongoDB Manuel中的MongoDB Production Notes一节内容。这节内容重点关注生产环境中影响性能和可靠性的各种注意事项,值得正在部署MongoDB的工作者们关注。以下是正文。本文详细描述了影响MongoDB,特别是生产环境的关键系统配置。注意:MongoDB Atlasis a cloud-hosted database-as-a-servic...原创 2019-11-19 11:26:04 · 842 阅读 · 0 评论 -
mongo基础之 存储引擎对比(9)
MongoDB存储引擎构架插件式存储引擎, MongoDB 3.0引入了插件式存储引擎API,为第三方的存储引擎厂商加入MongoDB提供了方便,这一变化无疑参考了MySQL的设计理念。目前除了早期的MMAP存储引擎外,WiredTiger和RocksDB均 已完成了对MongoDB的支持,前者更是在被MongoDB公司收购后更是直接引入到了MongoDB 3.0版本中。插件式存储引擎API的引...原创 2019-11-15 14:50:35 · 559 阅读 · 0 评论 -
mongo基础之journal与oplog区别 (10)
journaljournal 是 MongoDB 存储引擎层的概念,目前 MongoDB主要支持 mmapv1、wiredtiger、mongorocks 等存储引擎,都支持配置journal。MongoDB 所有的数据写入、读取最终都是调存储引擎层的接口来存储、读取数据,journal 是存储引擎存储数据时的一种辅助机制。以wiredtiger 为例,如果不配置 journal,写入...原创 2019-11-15 14:48:31 · 490 阅读 · 1 评论 -
mongo基础之 数据模型(8)
不像SQL数据库一样,MongoDB中的数据有着灵活的模式。MongDB collection中的数据不强制document的数据结构。这种灵活性有助于将document映射到实体或者对象。每个document可以匹配描绘实体的相应数据字段,即使数据可能会发生变化。然而在实际使用中,同一个collection中的documents共享类似的数据结构。数据建模的关键挑战是平衡应用需求,数据库引擎...原创 2019-11-15 13:46:34 · 477 阅读 · 0 评论 -
mongo基础之 聚合命令 mapreduce 和aggregate 的比较(7)
aggregate :1 有固定的stage 和固定的操作符 可以使用 ,不容易出错,但是也因此限制了更多可能存在的逻辑。2 aggregate 每个stage 有内存使用限制,并且单条文档限制 16 M,但是又提供了 允许使用硬盘的选项。3 效率高aggregate 性能优化 参考 :http://www.mongoing.com/docs/core/aggregati...原创 2019-11-13 16:01:54 · 723 阅读 · 0 评论 -
mongo基础之 聚合命令 aggregation(4)
聚合操作介绍db.collection.aggregate( [pipeline], <optional params> ) - performs an aggregation on a collection; returns a cursor2个参数,一个管道列表 一个可选参数管道包括多个阶段阶段 描述 $addFields 向文...原创 2019-11-11 16:58:28 · 942 阅读 · 0 评论 -
mongo基础之 聚合命令count distinct group(5)
1.countcount是最简单的聚合工具,用于返回集合中的文档数量,与SQL中的count()一样如一个空集合插入2条数据>db.bitest.insert({"memid": "c001"})>db.bitest.insert({"memid": "c002"})统计文档数量>db.bitest.count()count可以添加条...原创 2019-11-12 17:26:09 · 621 阅读 · 0 评论 -
mongo基础之 聚合命令 mapreduce(6)
mongo MR简介对于每个从事数据技术的人才而言,mapreduce都不陌生,简单而言就是一种大数据计算、分类、分析的一个编程模式,目前很多大数据存储平台都支持mapreduce,比如hadoop、hbase等等,也有很多采用了类似于mapreduce的算法的其他数据计算平台,关于mapreduce的原理不再赘言,我们直接来了解mongodb中如何使用mapreduce。 ...原创 2019-11-12 17:30:16 · 328 阅读 · 0 评论 -
mongo命令行操作选项 之writeConcern,readConcern,getLastError
getLastErrorMongodb的写操作默认是没有任何返回值的,这减少了写操作的等待时间,也就是说,不管有没有写入到磁盘或者有没有遇到错误,它都不会报错。但一般我们是不放心这么做的,这时候就调用getlastError命令,得到返回值。 getLastError 是Mongodb的一个命令,它好像是取得最后一个error,但其实它是Mongodb的一种客户端阻塞方式,用这个命令来...原创 2019-11-07 11:17:00 · 2091 阅读 · 0 评论 -
mongo 哈希索引 地理位置索引 文本索引(4)
全文索引全文索引的建立方法跟之前的单键索引,复合索引,比较相似单键索引:db.articles.ensureIndex({key:'text'})复合索引:db.articles.ensureIndex({key_1:'text',key_2:'text'})全文索引:db.articles.ensureIndex({"$**":"text"})全文索引中,我们可能存在不同...原创 2019-11-05 16:15:31 · 398 阅读 · 0 评论 -
mongo 监控 慢查询 ,索引优化(3)
在 MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是Mongo Database Profiler.不仅有,而且还有一些比MySQL的SlowQuery Log更详细的信息。它就是我们这篇文章的主题。 db profilingMongoDB支持对DB的请求进行profiling,目前支持3种级别的profiling...原创 2019-11-05 16:12:13 · 497 阅读 · 0 评论 -
mongo 索引(2) explain
现版本explain有三种模式,分别如下: queryPlanner executionStats allPlansExecution 返回结果字段说明:先来看queryPlanner模式的各个返回意义。explain.queryPlannerqueryPlanner的返回。explain.queryPlanner.namespace...原创 2019-11-05 11:44:39 · 350 阅读 · 0 评论 -
mongo 索引总结
索引基础知识什么是索引索引最常用的比喻就是书籍的目录,查询索引就像查询一本书的目录。本质上目录是将书中一小部分内容信息(比如题目)和内容的位置信息(页码)共同构成,而由于信息量小(只有题目),所以我们可以很快找到我们想要的信息片段,再根据页码找到相应的内容。同样索引也是只保留某个域的一部分信息(建立了索引的field的信息),以及对应的文档的位置信息。假设我们有如下文档(每行的数据在Mo...原创 2019-11-05 11:12:28 · 628 阅读 · 0 评论 -
mongo BsonUndefined 序列化报错
如上图所示 从mongo 查询出来的数据想要通过网络传输,发现提示 BsonUndefined 没有序列化,然后查询 数据库 内容 发现某个字段的值为 undefined ,修复数据 就可以了。...原创 2019-10-22 14:30:57 · 519 阅读 · 0 评论 -
mongo基础之 CRUD操作(3)
创建create常用方法 db.collection.save(obj) db.collection.insert(obj) db.collection.insertOne( obj, <optional params> ) - insert a document, optional parameters are: w, wtimeout, j...原创 2019-08-16 10:45:33 · 544 阅读 · 0 评论 -
mongo 分片集群安装及管理
一、 集群的三个组件:mongos(query routers):查询路由,负责client的连接,并把任务分配给shards,然后收集结果。config server:配置服务器,保存了集群的元数据信息,查询路由通过配置服务器的配置信息决定把任务分配+到哪个shards上。shards server:分片,存储数据和执行计算。二、 集群架构图:三、 集群的IP及端口规划:服务192.168.14...转载 2018-04-20 16:57:44 · 846 阅读 · 0 评论 -
mongo 搭建模式
一、master/slave方案1、搭建master服务器$:mongod --dbpath=./../data --master --oplogSize 64 --port 55662、搭建slave服务器$:mongod --slave --source 10.10.20.48:5566 --dbpath=./../dataSlave --port 5567 --slavedelay 10 -...原创 2018-04-20 16:24:41 · 219 阅读 · 0 评论 -
js 之map reduce
map举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个数组[1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map实现如下:由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果:'use strict';function pow(x) { return x...转载 2018-04-20 16:25:20 · 299 阅读 · 0 评论 -
mongodb基础命令
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户use :切换当前数据库,这和MS-SQL里面的意思一样 db.help():显示数据库操作命转载 2017-09-22 17:00:50 · 1940 阅读 · 0 评论 -
mongo 副本集安装
副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成。通过Replication,将数据的更新由Primary推送到其他实例上,在一定的延迟之后,每个MongoDB实例维护相同的数据集副本。通过维护冗余的数据库副本,能够实现数据的异地备份,读写分离和自动故障转移。也就是说如果主服务器崩溃了,备份服务器会自动将...转载 2018-04-20 17:31:45 · 522 阅读 · 0 评论 -
mongo 副本集节点类型
对于Secondary来说有三个比较重要的属性。Priority=0优先级为0的节点的概述字面上来说,权限为0。拥有最低的权限。已然是Secondary了,权限还最低,啥影响呢?之前说过,mongoDB的副本集中是有投票机制的,如果一个Primary不可达(关于不可达后面还说详细说),那么所有的Secondary会联合起来投票选举,选出心目中的新的Primary。因为只有Primary才能接收Wr...转载 2018-04-20 17:55:36 · 1166 阅读 · 1 评论 -
mongo基础之 shell 学习(2)
linux连接默认端口上的本地MongoDB实例直接输入mongo,这样会默认链接到本地主机上端口27017上运行的mongoDB实例mongolinux连接非默认端口上的本地MongoDB实例要显式指定端口,请包括–port命令行选项。$ mongo --port 28015linux连接远程主机上的MongoDB实例三种方法:mongo mongodb://...原创 2019-08-15 19:14:55 · 641 阅读 · 0 评论 -
mongo 基础之 数据库和集合,视图 文档,bson ,mongo数据类型 简介(1)
创建数据库和集合的时机?如果数据库不存在第一次向数据库里添加数据的时候会创建数据库,如果集合不存在,在第一次存储数据的时候就会创建集合,比如insertOne或者createIndex的时候。当然也可以显示的创建集合,这个时候你可以设置集合大小或者文档的校验规则(指定文档的字段和字段类型)。一、DataBase 特性1 创建数据库,mongodb数据库无需手动创建,如果指定使用...原创 2019-08-13 20:01:19 · 1379 阅读 · 0 评论