Mongodb

將對像從 Firebase 錯誤遷移到 MongoDB

  • September 13, 2021

我正在將數據庫從 Firebase 遷移到 MongoDB,並且遇到了問題。這是我儲存在 FB 中的這樣一個對象:

"logs": {
   "2021-05-24": {
       "124109": {
           "foo": "text",
           "bar": "text"
       }
   }
}

當我將它導入 Mongo(通過 Mongo 指南針作為 JSON 對象)時,它以這種形式插入:

"logs": {
   "2021-05-24": [
       null,
       null,
       ... # overall 124109 nulls here
       null,
       {
           "foo": "text",
           "bar": "text"
       }
   ]
}

正如我所看到的,它將嵌套對象的鍵讀取為真實數組對象的數量。如何在 mongo 中正確遷移這種類型的對象?

輸入 JSON ( input.json):

{
 "logs": {
   "2021-05-24": {
       "124109": {
           "foo": "text",
           "bar": "text"
       }
   }
 }
}

您可以使用mongoimport命令行工具進行導入。這將正確導入 MongoDB 集合。例如,在作業系統命令提示符下:

mongoimport --db=test --collection=test --file=input.json

請注意,“input.json”文件需要位於執行命令的同一目錄中(或指定完整路徑)。

生成的文件如下所示,其中包含 MongoDB created_id欄位:

{
       "_id" : ObjectId("613f25725ed44abe4b8957ef"),
       "logs" : {
               "2021-05-24" : {
                       "124109" : {
                               "foo" : "text",
                               "bar" : "text"
                       }
               }
       }
}

我曾嘗試使用 MongoDB Compass v1.21.2 inot MongoDB v4.2.8 數據庫進行相同的導入 - 我看到了與您遇到的相同的問題。

引用自:https://dba.stackexchange.com/questions/299413