问题标签 [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.
mongodb - 插入 MongoDB:转换为 BSON 的文档大小会改变吗?
好的,我是 MongoDB 的新手,并且一直在读一本关于它的书,有些地方在说
“大于 4MB 的文档(转换为 BSON 时)无法保存到数据库”
好的...文件上限为 4MB?让我感到困惑的是他们在括号中所说的话:(当转换为 BSON 时):所以当转换为 BSON 时大小会发生变化?
因为几行之后它说:
“为了让你知道 4MB 是多少,战争与和平的整个文本只有 3.14 MB”
什么?好吧,现在我很困惑。帮我!
ruby-on-rails - mongo_mapper_acts_as_versioned 保存时间类型时失败
我正在尝试使用我分叉的https://github.com/Bramanga/mongo_mapper_acts_as_versioned gem 在我的 mongomapper 模型上设置版本控制。但是,每当我尝试保存我的 Finding 模型时,如果我尝试使用 Time 类型保存它就会失败(我必须使用它,因为 MongoDB 只支持 utc 时间,而不是日期)。
模型:
终端输出:
加载开发环境(Rails 3.0.10)
1撬(主)> 发现 = Client.first.findings.build
=> <#Finding _id: BSON::ObjectId('4fc67c8f4e484f267c000002'), client_id: BSON::ObjectId('4f7119884e484f25bd005ee8'), custom_fields: {}, legacy_attachments: [], tags: []>
[2] 撬(主)> find.save
=> 真
[3] 撬(主)>finding.found_date =“2012 年 12 月 24 日”
=> “2012 年 12 月 24 日”
[4] 撬(主)>find.save
BSON::InvalidDocument:当前不支持 ActiveSupport::TimeWithZone;请改用 UTC 时间实例。来自/home/bramanga/.rvm/gems/ruby-1.9.2-p290@actionlog/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize'
我不知道如何解决这个问题。也许我只是做错了。有任何想法吗?
visual-c++ - 二进制数据的 BSON
如何将char* buffer
具有二进制数据(从图像文件中读取)的文件转换为 BSON 格式。我正在vc++中尝试它。
c# - Representation = BsonType.Int64 不能与 Datetime 一起正常工作
我正在使用 Representation = BsonType.Int64 属性在我的类中装饰我的 DateTime 属性之一,以便它以日期的 Int64 表示形式存储在数据库中。
当我曾经将该属性存储为普通的 C# Datetime 并且没有将值设置为任何值时,它将 DateTime.Min 存储在数据库中。这是完美的,因为我正在从数据库中读取并执行 Query.LT 操作,如下所示:
它曾经很好地返回所有值。
现在我开始将它存储为 BsonType.Int64 并且 BsonType.Int64 中的 DateTime.Min 的等价物是“0”。我的 Query.LT("MyField", DateTime.Now)); 在使用 DateTime.Min 存储的所有日期上都失败。
关于如何解决这个问题的任何想法?
mysql - 有没有人找到一种将 BSON ObjectId 值存储在 SQL 数据库中的有效方法?
我们正在将一些数据从 MySQL 迁移到 Mongo,并且一直在向我们的一些数据库表中添加额外字段,以获取迁移数据对象的ObjectId值。
目前我们将它们存储为 varchar(24) latin1_general_ci 可以正常工作。
然而,为了有效的存储/索引,我们可能应该转换回 12 字节的二进制值。不幸的是,MySQL 似乎只支持最多 8 个字节的本机整数。还有另一种选择 - 也许是二进制?
更新:我正在从 MySQL 迁移,但目前只有某些表。所以我首先在某个表的 Mongo 中复制对象。然后我回到 MySQL 中剩下的任何其他表,这些表具有对旧 MySQL 表 ID 的外键引用,并添加一个新的引用字段来存储 Mongo 对象的 ID。然后我将删除原始参考字段 BIGINT。
更新 2:我提出这个问题的原因是,在我们移动其他数据之前可能还要再过 12 个月(或永远不会),所以在此之前它会对实时 Web 应用程序产生性能影响。
mongodb - Can I save space in my Mongodb indexes by converting ASCII strings to bytes?
I have a lot of object with language code as a key field. Since both Java and Mongodb use UTF-8 natively and since the language codes are ASCII it seems to be that they should take 1 byte per character plus the \0 terminator. So the language code "en" should take only 3 bytes in the BSON object and in the index.
Is this correct? I am wondering whether I save anything by converting my fields to a byte array like:
before saving them to Mongodb with the Java driver?
javascript - Mongo DB shell,如何计算集合中的重复条目
Mongo DB shell(通过使用 JS 文件运行):
运行“查找”命令后,我必须找出结果中有多少重复行。由于集合可以有不同的 JSON,我必须解析每个 JSON 对象以进行比较。
简而言之,如何从 bson 对象中枚举键?
例如,如果我们查看以下 4 个 JSON 条目:
我想在比较时忽略“_id”和“日期”键。我想忽略“_id”,因为它是特定于 mongo 的,我想忽略“Date”,因为这是我的要求。
钥匙本身是多种多样的。在每个 JSON 文档中,键名各不相同,键值对的数量也各不相同。
在上述情况下,我希望将“1”和“3”识别为相同(重复)。
我该怎么做呢?
如何从 bson 对象中枚举键?
python - django-nonrel 指定 MongoDB BSON 元素名称来建模属性
在 C# 中,可以使用 MongoDB 驱动程序为数据模型中的每个属性定义自定义 BSONElement 名称,以缩短其存储名称,例如
有什么方法可以通过 django-nonrel 设置和定义的模型来实现这一点
这样属性“Current”将存储为“c”并在代码中引用为“Current”?研究在这方面做得不是很好。
mongodb - 消息应用程序的 MongoDB 结构
我正在思考一个用于处理消息应用程序的良好文档结构。
我基本上需要三种(或四种)类型的对象:
- 用户(用户名、电子邮件、密码等)
- 联系人列表(包含不同的联系人或联系人组)
- 对话(对话是一些人之间的信息集合)
- 消息(包含消息正文、一些时间戳和创建者。)
我的想法是将联系人嵌入到用户文档中,并将消息嵌入到对话文档中:
1. 用户
2. 对话
你觉得这个架构怎么样?
我认为将它们分开会更好(因此每个文档都是自己的),因为每个文档都有不同的更新频率。但我真的没有任何经验,所以听到一些建议会很好:)
问候
mongodb - Haskell,mongodb,日期
如何从haskell将日期插入或自动插入mongodb?从 mongo 日期类型转换为 haskell 数据类型的最佳方法是什么?
比如说,在我插入博客文章记录(任何 haskell Web 框架)并且我想自动为每条记录加上日期戳的情况下。我该怎么办?问题更多是关于从 haskell 驱动程序中进行类型转换和 mongodb 日期类型创建。