首页 > 解决方案 > 如何将 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 的新手。

标签: mongodbrealmmongodb-atlasrealm-mobile-platform

解决方案


没关系,我终于找到了需要的类型BSON.Double

json.doubleField = BSON.Double(json.doubleField);

推荐阅读