mongdb 用Cursor 读取数据的时候,直接用流读出来的数据key是数字开头的话,就是独具不到,用Object.keys() 把所有的key 打印出来的话如下:怎么会是这样的呢? 查看了一下文档,这个cursor返回的是一个object 模型,意味着他触发了真实的document 的实例,所以返回的是所有的documnet的实例(包含了其中的一些方法),所以可以用一些stream 的方法转化一下,真实的数据其实在_doc里面,所以可以用JSON.stringly()来转化一下.最简单的方法…
数据准备 下载国家地震数据 http://data.earthquake.cn/data/ 通过navicat导入到数据库,方便和mysql语句做对比 shard分片集群配置 # step 1 mkdir -p ./data/shard/s0 ./data/shard/s1 #创建数据目录 mkdir -p ./data/shard/log # 创建日志目录 ./bin/mongod --port 27017 --dbpath /usr/local/mongodb/data/shard/s0 -…
在mongodb 集群中,if  存在orphaned documents 和chunk migration, count查询可能会导致一个不正确的查询结果,例如我就是踩的这个坑,先不说话,看结果: skip 只能获取到54631,而count查出来了77396条数据,这就是坑,一样的查询条件,不一样的结果,为了避免这种结果,可以使用聚合查询, 如上图所示,着里又是一个坑. mongodb 的count详细文档见官网:https://docs.mongodb.com/manual/referen…
WSL Ubuntu 安装MongoDb 4.0导入公钥时遇到一个坑 一路坑啊~~~网上的密钥都不对????  不应该啊 源中默认是MongoDb 3.x 但是我想用4.0,然后按照mongodb官方的docs进行第一步操作导入公钥 1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 结果出现下面错误 1 2 gpg: connec…
Python跑一个aggregate脚本,报错:pymongo.errors.CursorNotFound: Cursor not found, cursor id: 35411720832 搜了下原因,猜测应该跟我的网络关系比较大. 网络不顺,导致数据传输时间过长,Cursor长时间无操作.等到再对Cursor进行操作的时候,服务器端已经把连接给关闭了,因此报错. 很多人会建议将查找设为no timeout,很遗憾MongoDB并没有对aggregate函数提供no time out选项. 所…
查询mongoDB集合数据更新,数据有400w多.我一次用cursor(游标)取1w,处理更新.程序在某段时间运行中遍历游标时发生异常! DBCursor cursor = tabColl.find(queryObj).skip(startRow).limit(pageSize); 完整异常信息:com.mongodb.MongoExceptionCursorNotFound:cursornotfoundonserveratcom.mongodb.DBApiLayerCursorNotFound…
太久没动这里,目前人生处于一个新的开始.这次博客的内容很久前就想更新上来,但是一直没找到合适的时间点(哈哈,其实就是懒),主要内容集中在使用Mongodb时的一些隐蔽的MapReduce问题: 1.Reduce时的计数问题 2.Reduce时的提取数据问题 另外,补充一个小tips:mongoDB中建立的索引,优先使用固定的,而不要使用范围. 一.MapReduce时的计数问题 这个问题主要出现在使用“+1”的思路去计算累计次数时.如果在Map后的某一类中,记录量过大,就会导致计数失败. 具体演…
前言 在上一篇文章中,我们有提到net访问mongodb连接超时默认为30秒,这个时间在实际项目中肯定是太长的.而MongoClientSettings 也确是提供了超时属性,如下图: 可实际使用中,仅仅设置这个参数,是不起作用的,下面实例说明. 设置超时 MongoClientSettings setting = new MongoClientSettings(); //设置超时 setting.ConnectTimeout = TimeSpan.FromMilliseconds(1000);…
背景介绍 随着业务的发展.需求的变化,促使我们追求使用不同类型的数据库,充分发挥其各自特性.如果决定采用新类型的数据库,就需要将既有的数据迁移到新的数据库中.在这类需求中,将SQL Server中的数据导入到MongoDB 中显得尤为突出. 面对这种需求,大家优先想到的就是百度查找第三方工具,可惜截止目前,还没有一款公认比较满意的数据迁移工具.百度不到,大家可能就要回头自己开发了.如此,更是花费不少人力物力和宝贵的精力.甚至,由于没有理想的迁移工具,导致项目优化一再延迟. 其实,你原本不必如此!…
mongoose 的报当我从 mongoose@4.5.2 升级到 mongoose@4.6.5的时候,出现了一个问题: Unhandled rejection MongoError: no mongos proxies found in seed list 怎么办,我google 一下的时候发现: https://github.com/christkv/mongodb-core/issues/118 原来是mongo的一个bug 哎呦!看下源码,这是mongoose@4.6.5 Mongoos…