mongodb 的Cursor 作为 stream 的时候,读出来的数据数字开头的key没法访问(又踩了一个坑)

mongdb 用Cursor 读取数据的时候,直接用流读出来的数据key是数字开头的话,就是独具不到,用Object.keys() 把所有的key 打印出来的话如下:怎么会是这样的呢?

查看了一下文档,这个cursor返回的是一个object 模型,意味着他触发了真实的document 的实例,所以返回的是所有的documnet的实例(包含了其中的一些方法),所以可以用一些stream 的方法转化一下,真实的数据其实在_doc里面,所以可以用JSON.stringly()来转化一下。最简单的方法也就是ToObject()一下。

时间: 2024-10-14 11:17:02

mongodb 的Cursor 作为 stream 的时候,读出来的数据数字开头的key没法访问(又踩了一个坑)的相关文章

mongodb count 导致不正确的数量(mongodb count 一个坑)

在mongodb 集群中,if  存在orphaned documents 和chunk migration, count查询可能会导致一个不正确的查询结果,例如我就是踩的这个坑,先不说话,看结果: skip 只能获取到54631,而count查出来了77396条数据,这就是坑,一样的查询条件,不一样的结果,为了避免这种结果,可以使用聚合查询, 如上图所示,着里又是一个坑. mongodb 的count详细文档见官网:https://docs.mongodb.com/manual/referen

mysql迁移到mongodb shared架构的过程中踩到的一个坑

Mysql库中有一个表,数据量在10亿左右,基本上对于这个表的操作都是没有意义的,因此想测试一下迁移到mongodb的shared架构上是否会有所改善.于是哼哧哼哧的搭建了一个3分片的mongo环境,并将mysql中这个大表的数据导出成了csv的格式,最终使用mongoimport工具成功将10亿多的数据导入mongo集群中去.但是导完后查看了下mongodb中对应的db的信息,差点没吓出尿来,请看: ## 在mongos中查看db的信息,显示迁移后的lens_mobapp_trace库大小为1

5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出

 1 固定集合 固定集合值得是事先创建而且大小固定的集合 2 固定集合的特征:固定集合很像环形队列,如果空间不足,最早文档就会被删除,为新的文档腾出空间.一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太多的操作限制. 3 创建固定集合使用命令: db.createCollection("collectionName",{capped:true,size:100000,max:100}); size:指定集合大小,单位为KB,max指定文档的数量 当指定文档数量上限时,

在MongoDB的MapReduce上踩过的坑

太久没动这里,目前人生处于一个新的开始.这次博客的内容很久前就想更新上来,但是一直没找到合适的时间点(哈哈,其实就是懒),主要内容集中在使用Mongodb时的一些隐蔽的MapReduce问题: 1.Reduce时的计数问题 2.Reduce时的提取数据问题 另外,补充一个小tips:mongoDB中建立的索引,优先使用固定的,而不要使用范围. 一.MapReduce时的计数问题 这个问题主要出现在使用“+1”的思路去计算累计次数时.如果在Map后的某一类中,记录量过大,就会导致计数失败. 具体演

mongodb 有一个坑 报错 no mongos proxies found in seed list

mongoose 的报当我从 [email protected] 升级到 [email protected]的时候,出现了一个问题: Unhandled rejection MongoError: no mongos proxies found in seed list 怎么办,我google 一下的时候发现: https://github.com/christkv/mongodb-core/issues/118 原来是mongo的一个bug 哎呦!看下源码,这是[email protected

logstash 数据插入mongodb,去掉附加信息,若删除@timestamp,插入数据会报错

input { file { path => ['/gwlog/data/**/*.json'] discover_interval => 1 ignore_older => 5 start_position => "beginning" close_older => 6 max_open_files => 200000 codec => json } } filter { mutate { remove_field => ["

关于 MongoDB 与 SQL Server 通过本身自带工具实现数据快速迁移 及 注意事项 的探究

背景介绍 随着业务的发展.需求的变化,促使我们追求使用不同类型的数据库,充分发挥其各自特性.如果决定采用新类型的数据库,就需要将既有的数据迁移到新的数据库中.在这类需求中,将SQL Server中的数据导入到MongoDB 中显得尤为突出. 面对这种需求,大家优先想到的就是百度查找第三方工具,可惜截止目前,还没有一款公认比较满意的数据迁移工具.百度不到,大家可能就要回头自己开发了.如此,更是花费不少人力物力和宝贵的精力.甚至,由于没有理想的迁移工具,导致项目优化一再延迟. 其实,你原本不必如此!

将数据库读出来的数据转化成集合

public class DynamicBuilder<T> { private PropertyInfo[] properties; private DynamicBuilder() { } public T Build(IDataRecord reader) { T result = (T)Activator.CreateInstance(typeof(T)); for (int i = 0; i < reader.FieldCount; i++) { if (properties[

MongoDB随笔基本操作

一.MongoDB数据结构与关系型数据库比较 逻辑结构对比MongoDB              关系型数据库文档(document)        行(row)集合(collection)         表(table)数据库(database)    数据库(database) 二.mongod 参数说明最简单的,通过执行 mongod 即可以启动 MongoDB 数据库服务,mongod 支持很多的参数,但都有默认值,其中最重要的是需要指定数据文件路径,或者确保默认的/data/db