问题标签 [couchbase-lite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
251 浏览

ember-data - include_docs couchbase 返回的文档结构

我有一个通过ember-couchdb-kit与 Couchbase Lite 交互的Ember 应用程序

我想在桌面上运行它。我过去成功使用过 CouchDB,但想迁移到 Couchbase Server 以更好地控制数据访问。

Ember-couch-kit 依赖于all视图来返回特定类型的元素。例如,我的应用程序有习惯,用于加载这些习惯的 url 是:

地图函数如下所示:

据我所知,CouchDB 和 Couchbase Lite 返回以下形式的结果:

另一方面,Couchbase Server 返回以下形式的文档:

有没有办法使用 Sync Gateway 来获得兼容的视图?目前,我正在通过将文档作为map.

0 投票
1 回答
1010 浏览

mobile - Couchbase 同步网关如何使移动客户端与数据库保持同步?

我读到了 Couchbase 被用作离线在线内容中心应用程序的内容分发。但我无法弄清楚使所有内容保持同步的算法是什么。

当其中有任何更改时,它是否只是下载整个文档?

还是数据库只发送一个增量?在这种情况下,增量是如何计算和传递的?

可以将同步配置为通过压缩的 HTTP 进行吗?

此外,我对产品命名感到困惑:如果我想要一个应用程序在我更改服务器中的文档后立即向用户显示更新,我需要使用什么产品或产品组合?

Cohchbase 精简版?Couchbase-移动?Couchbase 同步网关?

0 投票
0 回答
72 浏览

couchbase - Couchbase 仅存储一个修订版

是否可以在 Couchbase 中仅存储每个文档的一个修订版本,以便在每次更新后它不会膨胀set?这个问题在 Couchbase Lite 的上下文中也很有趣。

0 投票
0 回答
488 浏览

android - 将 CouchDb 数据导出到 CBLite

我正在尝试在 android 应用程序中实现 couch base 的预构建数据库概念。我有一个 couchdb 数据,我需要将其转换为 cblite 文件,以便我可以将文件放入我的应用程序的资产中。这将帮助我使用现有数据初始化应用程序并减少启动应用程序的时间。

目前我正在一个测试android应用程序中复制数据->从设备中的应用程序数据库复制.cblite文件->将其粘贴到我的生产应用程序的资产文件夹中。

提到的过程很长,对我来说不可行。是否有任何其他方法或桌面/浏览器工具可用于直接将数据转换/导出为 .cblite 文件。

谢谢!

0 投票
2 回答
1655 浏览

ios - Swift & Couchbase Lite 发出函数导致 EXC_BAD_ACCESS (code = 2)

我是 Couchbase 和 Swift 的新手,我正在尝试建立一个候选架构并为我正在开发的新应用程序运行。我认为 Couchbase 非常适合,除了我无法让它在不崩溃的情况下工作。这可能归结为几个原因,但只是为了进行健全性检查,我只是想弄清楚这是否是我做错的事情。

每次调用 emit 函数时,以下映射函数都会导致 EXC_BAD_ACCESS 错误。该函数在启动时从视图控制器调用。我检查了调试器中的参数,它们指向内存中的有效引用。这是创建查询的函数:

我也尝试过用 Objective-C 重写整个函数并且它可以工作,所以如果没有人可以帮助我,那么我将把它归结为 Swift 中的一个错误。如果是,我想向 Apple 报告这个问题,但我对 Couchbase Mobile SDK 和 Swift 的工作原理的理解仍然非常有限。如果有人设法让 Couchbase Lite 与 Swift 一起工作,如果你能帮助我,那就太好了。或者更好的是,如果在 Github 上有一个用 Swift 编写的示例项目,那对我来说就是黄金。

0 投票
1 回答
1134 浏览

android - Android L 上的 Couchbase Lite

更新到 Android L 后,我遇到了这样的错误,尽管之前(在 Android 4.4 Nexus 7 2013 上)一切都很好:

尝试创建数据库后发生异常:

有谁知道如何解决它?

0 投票
6 回答
8316 浏览

cordova - CouchDB 作为 Cordova/Phonegap 数据库

目标

cordova我想用/构建一个phonegap需要数据库(仅限客户端)的跨平台移动应用程序。我的目标平台主要是AndroidiOS. 我选择couchbase-lite了作为我的存储。

问题

但我找不到任何好的文档couchbase-litein phonegap。只有我在githubPlay Store中找到了一些rest api和一个应用程序 todo-lite

如果我没有任何服务器端实现,我无法理解如何获得可以发送POST/GET/PUT/DELETE请求的url 。

谁能建议我一种方法,我可以在本地使用/安装、连接和运行数据库中的 CRUD 操作couchbase-liteAndroidiOScordovaphonegap

为什么选择 Couchbase-lite(对所有人都不重要)

对于那些建议我选择另​​一个数据库的人,我只是分享我的发现......
cordova 5.0存储文档中有几个选择

  • LocalSorage: 5 MB 的限制对于应用程序来说是不够的。
  • WebSQL:我担心它的未来,因为 w3c 放弃了它的计划。
  • IndexDB:目前正在开发中,不适用于 Android 和 iOS。
  • 基于插件的选项:通过激励对 NoSQL 的评估。我试过了couchbase-lite。它具有对 Android 和 iOS 平台的插件支持。
0 投票
1 回答
3006 浏览

android - CouchBase Lite,在查询中排除具有某些键的文档

我有一个带有映射器的简单视图,它发出带有一些键的文档。

有了这个视图,我可以在其上创建查询,使用某些参数,如 setKeys、startKey、endKey、setDescending、setDescending、setSkip 和其他如 couchbase手册中所述。

如果我写

该查询将返回与“用户名”键匹配的所有文档。

但是我找不到一种简单的方法来编写排除(省略)具有某些键的文档的查询(例如与 setKeys() 函数相反)

在ToDoLite 示例中发现了一个 hack 代码如下所示:

请注意,该视图将仅排除您在第一次调用期间传递给它的键ignoreUserId,并在下次调用期间忽略所有其他键(因为它只会在第一次调用期间创建一次视图)

因此,您需要为他们想要省略的每个键创建新视图。但是,如果您有很多要排除的键或经常这样做,那将是低效的和样板的。

你知道任何更好的解决方案或黑客吗?

任何帮助表示
感谢提前感谢

0 投票
1 回答
160 浏览

ios - 具有核心数据同步的 Couchbase 不支持模型版本

我正在尝试使用 CBLIncrementalStore 同步数据库(使用核心数据)。在 managedObjectModel 我添加 updateManagedObjectModel 方法。我的数据模型有 7 个版本,每次启动应用程序时,我都会在 entity.properties = properties; 线上崩溃

但是当只有一个版本时,它工作正常。那么沙发底座不支持核心数据模型版本吗?

0 投票
2 回答
1491 浏览

rest - 如何连接到 Couchbase Lite REST API

Couchbase Lite 文档(半文档!)提到连接到 REST API:

为与您的应用程序框架集成的 iOS 和 Android 设备提供本机、面向对象的 API。这些 API 可以将数据库文档映射到您自己的本机对象模型,让您直接使用 JSON 结构,或两者兼而有之。此外,使用 Web 技术构建的应用程序可以使用 Couchbase Lite REST API(例如 JavaScript、C# 或 Python 应用程序)。

这只是在 PhoneGap 和提供自己的侦听器的类似技术的上下文中,还是有某种通用的 lite 服务器包装器可以使 CBL REST API 在任何上下文中都可以访问?!(我猜这就是 REST 所暗示的)。

措辞不同,例如是否可以在任何上下文中使用 REST(当然使用可用的库/工具)从 Python 连接到 CBL,或者这不可能?

(我了解Couchbase LiteCouchbase Server之间的区别,所以这不是我要问的,我说的是 Couchbase Lite)。