问题标签 [bson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
655 浏览

javascript - 合并 MongoDB MapReduce 输出

我目前正在使用 MongoDB 的 MapReduce 生成每小时广告查看次数,如下所示:

这很好用,我在一个集合中得到结果,随后我可以比原始数据更快地查询。现在,我想做的是这样的:

为此,我认为我需要能够在 Reduce 操作中合并两个或多个不相交的文档,例如:

有谁知道这样的 Reduce 操作可能是什么样子,请记住浏览器名称事先不知道?

0 投票
1 回答
3003 浏览

ruby-on-rails - 仅访问 ruby​​ 中 BSON::ObjectId 的值

我正在开发一个由 Mongodb 支持的 ruby​​/rails 应用程序(使用 Mongoid)。在 Rails 应用程序的上下文中,一切都完美无缺,但我们也在访问 Rails 环境之外的对象,在该环境中,我无法让对象的 id 作为除哈希格式之外的任何内容返回:

我发现我看到了,因为我得到的值不仅仅是一个 id 字符串,而是 BSON::ObjectId 类型。除了需要 rails 环境之外,我还尝试在执行此工作的文件中明确要求 bson:

我需要将值简单地作为包含 id 的字符串来获取,这似乎是其他任何地方的默认值,但在这种情况下。奇怪的是,这种行为只发生在我的开发环境中(我团队中的其他人没有这个问题)。

必要的免责声明,我是 Mongodb 的新手,所以可能会遗漏一些真正明显的东西。

谢谢!

0 投票
1 回答
2858 浏览

c# - 如何在 MongoDB.Bson 中序列化自定义集合?

MongoDB.Bson.Serialization 的文档似乎很薄。我不知道如何正确地将我的自定义集合放入 MongoDB 文档中。我正在使用他们的默认 c# Driver

这是我要序列化的类,但是当我在序列化然后反序列化之后查看结果时,集合是空的。更具体地说,它创建了该类的一个新实例,但“_items”集合为空。鉴于它是私人室内收藏品,我发现这很不寻常。该集合是一个更大类的属性,其他类属性正在正确序列化。我一直在使用内置的序列化程序将其序列化为 XML,并且效果很好。我认为这可能很简单,但是没有创建自定义序列化实现,我不知道它是什么。我必须做些什么来告诉序列化程序将其视为一个集合吗?

由于我是 MongoDB 的新手,我还没有弄清楚如何转储大型原始文档来检查 MongoDB 文档本身的样子。这就是我现在正在做的事情。

0 投票
2 回答
5133 浏览

node.js - Nodejs - 如何编译 bson 解析器?

每次我尝试在 Nodejs 中执行任何操作时,与 mangodb 或套接字连接的内容时,都会收到错误消息:

我应该编译、使用、安装什么来避免它?我也在尝试安装 mangodb、node-mongodb-native 在 node-mongodb-native 安装期间我收到消息:

所以可能我在某个地方有 bson ......

我正在使用:节点 0.4.7 Ubuntu 10.10

编辑。我正在尝试运行的内容:

  1. 我下载了 github.com/pubsubio/chat

  2. 为这个项目安装打包的是:

我仍然收到:

本机 bson 解析器未编译,请编译或避免使用 native_parser=true

欢迎任何提示。

0 投票
1 回答
1080 浏览

ruby-on-rails - Rails,使用 MongoMapper 存储自定义类:无法将对象序列化为 BSON

我在 Rails 3.0.9 中使用 MongoMapper 0.9.1,当我尝试将自定义类的对象保存到数据库中时,它会引发以下错误:

BSON::InvalidDocument(不能将 Signature 类的对象序列化为 BSON。)

我的应用程序将使用户能够签署文档,并且这些签名应保存在自定义类中。我只是在要存储它的 Doc 类之前声明了 Signature 类:

无论我是否注释掉 to_mongo 或 from_mongo 方法,当我想通过从控制器调用它来测试它时,它总是抛出上面引用的异常

我不知道为什么它在我的情况下不起作用。如果你们中的任何人有一个想法,如果你能帮助我,那就太棒了。非常感谢您!

亲切的问候,塞巴斯蒂安

0 投票
2 回答
1774 浏览

ruby-on-rails - MongoDB 的 BSON gem 无法读取 MongoDB 数据库文件?

我有一个带有一些数据的 MongoDB 数据库。一切正常,数据已正确插入 mongo DB。不过,我现在想做的是打开 mongoDB DB 文件,并使用 BSON gem 解析它,以便我可以查看 mongo DB 文件的人性化格式。

但是,这给了我以下错误:

google了一下,有人说mongoDB可以接受任何类型的输入并存储它,但不能读取任何类型的数据。所以他们说数据库文件中包含无法正确读取的错误数据。但是它不应该能够读取它可以插入的任何内容吗?

0 投票
2 回答
2670 浏览

c# - 存储复合/嵌套对象图

我目前正在 Mongo DB 中开发一个文档存储,其中包含特定项目的完整材料分解。计算分解并包含复合结构。

领域模型:

现在的问题是没有正确存储复合结构。试剂在 mongodb 中保持为空。

外观示例

可能是什么问题呢?

0 投票
1 回答
1689 浏览

python - MongoDB 插入速度权衡

简而言之:当我将具有多个字段的 JSON 对象保存在 MongoDB 的单个字符串字段中或将 JSON 对象的每个字段保存在其自己的 MongoDB 字段中时,插入速度存在巨大差异。1)这种差异正常吗?2) 这些插入速度是典型的吗?

我有许多记录,每个记录都有一个唯一的字符串 id 和 600 个整数值。它们已经在文件中表示为 JSON 对象——每个文档在单独的行中。如果我将 MongoDB 文档表示为整数字段的集合并将我的唯一 id 放入 MongoDB 的字段中,我每秒_id可以插入大约50 个文档。如果我改为创建一个只有两个字段的文档(对于唯一的字符串 id,以及作为保留整个 JSON 记录行的单个字符串),我每秒可以插入大约 100 个文档_idval

我正在使用 Python 客户端并尝试进行批量插入(例如,一次 10、100、1000 个)。差异总是存在的。这种行为是预期的吗?我天真地假设我不会看到差异,因为 MongoDB 本身将记录保存为 BSON,并且在 600 个字段中每个字段都有一个整数或一个包含 JSON 记录的单个字符串之间确实应该没有太大区别,反过来,保留 600 个整数。

附录:1)我在这两种情况下都将 JSON 转换为字典,以确保它不会影响速度测量(即json.loads和其他东西)。换句话说,在带有 JSON 字符串的单字段的情况下,我会做我在另一种情况下所做的一切,但忽略转换后的字典。

2)我还尝试了空运行,一切都完好无损,没有任何插入到 MongoDB。我每秒可以处理大约 700-800 行。

3)

0 投票
1 回答
12300 浏览

json - 基准测试:BSON 与 JSON

遵循这个基准BSON 需要更多的磁盘空间和时间来创建、序列化、反序列化和遍历所有元素。BSON 的一大优势在于,它的遍历速度要快得多。那么这个基准有什么问题呢?

0 投票
1 回答
354 浏览

ruby-on-rails - Mongoid 1.9.2 + Rails 2.3:返回 BSON::OrderedHash 而不是对象的错误

Rails 2.3.11 应用

Mongoid 1.9.2(最新的“遗留”分支)

由于不再有 Mongoid 1.X 分支的文档,我正在努力解决我在此示例中配置错误的内容。看来我没有正确查询嵌入式文档。我应该怎么做呢?

在控制台,我输入

它返回

错误是“has_link?” 询问。

帮助!