Bagaimana cara mengimpor JSON ke MongoDB Atlas dan mengatur tipe file dari fungsi Realm?

Saya mencoba mengimpor data dengan format JSON ke Atlas apa adanya. Dalam kebanyakan kasus, ini berfungsi seperti yang diharapkan tetapi dalam beberapa kasus, nilainya datang sebagai ceil dan diimpor sebagai Int, bukan Double. Hal ini mencegah rekaman tersebut diimpor melalui sinkronisasi:

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"
]

Saya mencoba mencari cara untuk membedakan jenisnya tetapi NumberDecimal dan Decimal128 tidak ditentukan dalam fungsi Realm jadi sepertinya satu-satunya cara adalah menambahkan data terlebih dahulu dan kemudian memperbaiki jenis bidang tetapi sepertinya tidak benar . Apakah saya melewatkan sesuatu? Saya baru mengenal MongoDB, Realm Sync, dan JS.


person Anton Plebanovich    schedule 03.04.2021    source sumber


Jawaban (1)


Tidak apa-apa, saya akhirnya menemukan tipe yang diperlukan BSON.Double

json.doubleField = BSON.Double(json.doubleField);
person Anton Plebanovich    schedule 03.04.2021