当前位置: 首页 > 面试题库 >

从MySQL将数据迁移到Firebase

萧懿轩
2023-03-14
问题内容

我有一个现有的PHP / MySQL应用程序,我正尝试将其迁移到AngularJS / Firebase,以作为学习这些较新技术的一种方式。

该应用html" target="_blank">程序在MySQL中具有自己的表架构。一个这样的表如下所示:

CREATE TABLE `dictionary` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `word` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
  `wordmeaning` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `wordlength` int(11) unsigned NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

我的问题是:如何将这个表结构及其中的数据从MySQL迁移到Firebase?

我尝试通过查询将数据导出到JSON字符串中,例如:

SELECT      CONCAT("[",
          GROUP_CONCAT(
               CONCAT("{id:'",id,"',"),
               CONCAT("word:'",word,"',"),
               CONCAT("wordmeaning:'",wordmeaning,"',"),
               CONCAT("wordlength:'",wordlength,"'}")
          )
     ,"]") 
AS json FROM dictionary;

这给出了有效的JSON字符串,例如:

[{id:'1',单词:'cat',单词含义:'哺乳动物物种',单词长度:'3'},
{id:“ 2”,单词:“ catapult”,单词含义:“ throwing device”,单词长度:“ 8”},
{id:“ 3”,单词:“ cart”,单词含义:“要携带东西的东西”,单词长:“ 4”}]

我将其保存在文件中,并尝试使用“导入JSON”按钮从Firebase导入文件,但出现以下错误:解析JSON数据时出错。请验证您的输入。(JSON字符串有效。我在http://jsonviewer.stack.hu/处进行了检查)

关于我可能做错了什么的任何想法?我假设Firebase可以处理此类结构及其中的数据。

谢谢。


问题答案:

您的JSON无效。将此更改为有效:

[{"id":"1","word":"cat","wordmeaning":"a mammal species","wordlength":"3"},
{"id":"2","word":"catapult","wordmeaning":"throwing device","wordlength":"8"},
{"id":"3","word":"cart","wordmeaning":"something to carry things in","wordlength":"4"}]

因此,这些是更改:

  1. 使用双引号而不是单引号
  2. 用双引号括住键,而不仅仅是值

您可能要考虑不引用的值idwordlength,因为这些特性似乎是数字。

编辑

这两个在线工具似乎可以正确验证JSON(或至少符合Firebase的期望):

  • http://www.jslint.com/
  • http://jsonlint.com/

第二个也漂亮地打印了JSON,因此这可能是偏爱一个或另一个的原因。



 类似资料:
  • 问题内容: 将Solr核心迁移到elasticsearch索引的最佳方法是什么? 不推荐使用solr-river-plugin(https://github.com/javanna/elasticsearch-river- solr )。 问题答案: OpenSource Connections中有一个不错的,由爱心人士精心制作的自定义Python工具,您可以用来执行以下操作: https://g

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 我已经将数据库从postgresql更改为mysql,但是我不知道如何将数据从一个转移到另一个。 有谁知道任何命令可以将数据库从postgresql复制/迁移到mysql? 问题答案: 几年 前面 对这个问题,并用 pg2mysql 编辑20

  • 问题内容: 我们的Oracle数据库遇到了严重的性能问题,我们想尝试将其迁移到基于MySQL的数据库(直接使用MySQL,或者最好是Infobright)。 问题是,在我们实际上不知道新数据库的所有功能是否符合我们的需求之前,我们需要让旧系统和新系统至少重叠数周(如果不是几个月)。 因此,这是我们的情况: Oracle数据库由多个表组成,每百万行。白天,实际上有成千上万的语句,我们无法停止迁移。

  • 问题内容: 我有一个带有几个表的mysql数据库,我想将mysql数据迁移到ElasticSearch。通过批处理作业很容易将整个数据库迁移到ES。但是我应该如何从MySQL实时更新ES。即,如果在mysql中有更新操作,那么我应该在ES中执行相同的操作。我研究了mysql binLog,它可以反映mysql的任何更改。但是我必须将binLog解析为ES语法,我认为这确实很痛苦。谢谢!(与Solr

  • 几天前,我将以前从Fabric获得的崩溃数据迁移到了Firebase。Firebase现在显示了Fabric中与crashlytics相关的数据,但是,与分析相关的数据(最新版本、保留等)却找不到。 Fabric显示数据已在两个操作系统(Android和iOS)上成功迁移,但只有我们的Android操作系统显示出这个问题(我可以在Firebase中找到我们的iOS操作系统的分析数据) 此外,我发现

  • 我正在将Firebase实时数据库迁移到Firestore,并且我有嵌套数据 我有嵌套数据,我想从中创建一个集合。 示例: 我想从FiRecovery中的嵌套数组创建一个子集合。因此我尝试了以下方法(Cloud Function): 但我得到了错误: 您有没有想过以最好的方式迁移嵌套的子数据? 雷诺更新