mongodb - 如何将 JSON 导入 MongoDB Atlas 并从 Realm 函数中设置字段类型?
问题描述
我正在尝试将 JSON 格式的数据按原样导入 Atlas。在大多数情况下,它按预期工作,但在某些情况下,值以 ceil 的形式出现并作为Int
而不是Double
. 这可以防止这些记录被同步导入:
MongoEncodingError Error - Apr 03 7:14:04+03:00
Error:
Failed to apply MongoDB change event to sync history
Source:
Error syncing MongoDB write
Logs:
[
"Change Event Type: insert",
"Namespace: public-data.previous-day-prices",
"Partition: P",
"Document ID: JAZZ",
"Detailed Error: could not convert MongoDB value to Realm payload for { table: PreviousDayPriceRealmModel, path: close }, value=168 : cannot transform int value for non-int property of type double"
]
我试图寻找一种方法来以某种方式消除类型的歧义,但两者都NumberDecimal
没有Decimal128
在领域函数中定义,所以看起来唯一的方法是首先添加数据然后修复字段类型,但它看起来不正确。我错过了什么吗?我是 MongoDB、Realm Sync 和 JS 的新手。
解决方案
没关系,我终于找到了需要的类型BSON.Double
json.doubleField = BSON.Double(json.doubleField);
推荐阅读
- html - 使用 XSL 文件解析 CDATA 块内的 HTML
- javascript - 如何在 AngularJS 组件中获取对嵌入元素的引用
- google-sheets - 我需要将不同谷歌表格中的数据实时更新到其他表格。数据必须在表中排序
- sql - 如何在画面中分配@variables
- bash - 如何获取使用`find`找到的最后一个文件夹的名称
- python-3.x - 在 Linux 中 DatetimeArray 到 dtype datetime64 但在 Windows 中很好
- c# - 在 Visual Studio 中对具有不同目标平台的另一个项目的项目引用
- sql-server - 从 GROUP BY CUBE 结果中过滤掉 NULL 列
- .net-core - 剃须刀页面上基于策略的授权
- javascript - 从 chart.js 中呈现的图表中获取数据