2012-05-24 45 views
0

我正在使用Cloudant,并且我努力将600个文档从服务器拉到/复制到我的iPhone。首先,它非常缓慢,因为它必须一次写入一个文档,第二个Cloudant在100次左右的REST请求之后给我“超时”。 (我有这张Cloudant的门票,因为它是不可接受的!)Cloudant/CouchDB将600多份文档“拉”复制到iPhone

我想知道是否有人发现一种方式/破解时,“批量”复制时拉。我在想,也许可以“压缩”所有更改,将它们发送到一个文件中,然后将iPhone数据库快进到最后更改序列。

任何帮助是伟大的 - 谢谢!

+0

对不起,我很困惑,你想复制整个数据库还是只是一些文档?因为如果它只是一些,你可以使用“doc_ids”:[“1”,“2”...],如果它是整个数据库,那么你可以复制整个数据库,不是吗? – fet

回答

0

你不能击中_all_docs?include_docs = true以获得一切? http://wiki.apache.org/couchdb/HTTP_Document_API#all_docs

我不知道couchcoccoa但它看起来像API支持这样的:http://couchbaselabs.github.com/CouchCocoa/docs/interfaceCouchDatabase.html#a49d0904f438587b988860891e8049885

+0

我可以做_all_docs,但我仍然需要弄清楚last_seq并手动更新它...对吗?我认为这不是针对需要发生的多重拉复制的最佳解决方案(例如,如果我第一次检索所有文档,第二次只有2个新文档,但我仍然可以让他们都...)感谢您的输入,我仍然在学习沙发,它是如何工作的:) – ewindsor

0

其实,为什么不把一个视图。制作一张视图,为您提供您的清单,并确保您的ID在那里。通过您的ID,您可以转到该文档并获取所需的其他所需信息,以便在需要时进行更新。

真的没有理由不需要单独打印每个文档。他们有意见和search2.0。请记住,您正在使用基于云技术。这些东西并不坐在你的地下室,你不能在几秒钟内在每台设备上触及一百万次,并期望任何人不会注意到和/或感到不安(夸张,是的,我知道)。

我不明白的是你试图将它复制到iPhone?你在你的应用中运行apache和couchdb吗?为什么不只读取JSON数据并将其放入数据库中。或者如果它更新并覆盖它,就把它放到一个文件中。有这么多的选项,整个很少杂乱。

相关问题