离子:sqlite 和 PouchDB 或 NoSQL

Ionic: sqLite & PouchDB or NoSQL

我正在使用 Ionic 开发混合应用程序。 目前我正在使用 sqlite(关系型),因为我来自 MySQL 背景。

因为我需要非常频繁地同步我的数据库(通常在每次更改之后 - 无论是在应用程序中还是在服务器上)我在花时间创建自己的服务之前寻找一些解决方案(不要重新发明轮子) .

我从 Nic Raboy (https://www.youtube.com/watch?v=erQMOUcAdXk) 那里看到了一个很好的教程,他解释了如何使用 PouchDB 来轻松同步。

到目前为止一切顺利 - 但我还不知道我是否可以或如何将 PouchDB 与我现有的 sqlite 数据库一起使用,或者我是否必须完全切换到 NoSQL 数据库。

万一我必须切换到 NoSQL 我有下一个问题:我必须如何在 NoSQL 数据库中设计我的 "relations"?

我详细问一下:

我有一个 SQL 语句来从 2 个或更多表中检索数据,如下所示:

SELECT c.title, c.info, ruc.active
FROM app_user u
INNER JOIN rel_user_categories ruc
ON ruc.uid = u.id
INNER JOIN app_categories c
ON c.id = ruc.cid

或者这个:

SELECT av.venuename, av.latitude, av.longitude, ao.title, ao.info, ao.beacon
FROM app_offers ao
INNER JOIN app_venues av
ON av.id = ao.venue
WHERE ao.active AND av.active
ORDER BY ao.expires ASC

有没有办法触发一些与我使用 NoSQL 完全相同的查询? 我从大约 1 天开始就一直在使用 Google,但没有遇到任何解决方案。

在此先感谢您的帮助!

关于你的第一个问题:

So far so good - but I could not yet figure out if or how I can use PouchDB with my existing sqLite database or if I have to switch entirely to a NoSQL database

您只能与使用相同同步协议的数据库同步。那将是其中之一:

你的第二个问题很笼统。您需要阅读 JSON 文档中的结构化数据以及与关系数据库的差异。这是一个不同的世界,您将不得不花一些时间在这上面,所以请阅读。

如果您使用 MongoDB(无法同步,但比 CouchDB 更常用,因此您可能会找到为 Mongo 撰写的有用文章)。

学习 JSON 文档的数据结构和查询 CouchDB 需要一些时间。但如果您需要同步,那肯定是值得的。在这方面没有其他数据库可以比拟。