我们有一个从http://jsons.[part_of_link_suppressed].com.s3.amazonaws.com/selectors.json下载的对象。我们尝试将其保存到本地数据库,但没有保存。我检查了如果我保存了一个小对象,那么它就保存到了数据库中。保存到本地数据库的对象大小是否有限制?如果有,那么限制是什么?如果我们想将对象保存到本地数据库,是否必须将对象划分为小对象?我们如何将任意对象划分为小对象并将它们保存到数据库中?
编辑:我使用appAPI.db
API来引用同步数据库。
答案 0 :(得分:3)
我不确定您使用的是哪个crossrider db api,但是他们的所有存储api都有一些大小限制。你链接的文件不大,所以我猜你使用的是appAPI.db
appAPI.db非常有限,正如他们当前的文档所说:
使用此方法保存整数,布尔值,短字符串 大约10个字符,以及包含该字符的简单对象 上述类型。如果您需要保存更多数据,请使用 appAPI.db.async。 虽然所有条目的总体大小限制为5MB http://docs.crossrider.com/#!/api/appAPI.db
使用appAPI.db.async,每个密钥的限制为1MB,总共50MB - 这应该可以为您完成工作。 您可以使用他们的内置方法将远程资源保存到异步数据库:appAPI.db.async.setFromRemote
http://docs.crossrider.com/#!/api/appAPI.db.async
如果你想节省更多的空间,你可以在没有换行符和空格(minified / none漂亮打印)的情况下为你的json字符串提供服务,或者在将它保存到db之前你可以在客户端上执行它(JSON.parse然后stringify它再次)。 当你保存js对象而不是字符串时,它很可能是在内部执行它。