- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用来自 http://brian.io/lawnchair/ 的 Lawnchair JS在我的 Phonegap 应用程序中管理我的数据库记录。我是文档存储的新手,但对传统关系数据库很有经验。如果我想在另一条记录上引用一条记录,我该怎么办。例如:我有多个食品成分记录,我有多个食谱记录,在食谱 JSON 中,有没有办法引用成分记录?
最佳答案
要使用像 lawnchair 这样的 json 文档存储实现您想要的功能,您只需将引用文档的键名存储在文档中。
例如,您将拥有那些食品成分文件:
{key:'fi_1', name: 'rice', id: 1}
{key:'fi_2', name: 'corn', id: 2}
和那些食谱文件:
{key:'r_332', ingredients: ['fi_1', 'fi_54'], name: 'risotto', id: 332}
{key:'r_333', ingredient: ['fi_12'], name:'cookie', id: 333}
您可以将所有食谱的列表存储在一个文档中:
{key:'cookbook', recipes: ['r_1', 'r_2', .... 'r_332', 'r_333', .... ] }
然后您可以检索食谱文档:
store.get('cookbook', function(data) {
var recipes = data.recipes;
// do something with the list of all recipes
});
并寻找一个食谱来检索它的成分:
store.get('r_332', function(data) {
var ingredients = data.ingredients;
for (ingredient_key in ingredients) {
store.get(ingredient_key, function(ingredient_data) {
var name = ingredient_data.name;
var id = ingredient_data.id;
// do something with each ingredient
alert('ingredient: ' + name + ' - id: ' + id);
}
}
});
在上面的列表中,您可以只存储它们的 ID,而不是存储引用文档的完整键名,因为您应该知道它们的类型以及如何从中重新创建键名(食品成分:'fi_'前缀后跟 id,配方:'r_' 后跟 id..)。
关于javascript - 如何将记录与 lawnchair js 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10964578/
我正在使用 Lawnchair在我的客户端本地存储数据。我用来插入值的 key 是在服务器端创建的。 目前,当我使用 .all 时,返回值列表是一个从 0 开始索引的数组。然后我遍历此列表,将返回值存
我正在考虑从 titanium developer 转向 phonegap,主要是因为对 titanium 的支持几乎为零(他们的 q/a 部分经常有将近一年前提出的问题,但没有任何答案),而且 an
我尝试在 indexed-db 中创建多个记录,但它不允许我,例如,nike 和 adidas objectStores var nike = Lawnchair({adapter:'indexed-
如果我在 lawnchair 中调用一个方法并出错,我可以获得错误回调吗?我正在实现一个适配器,并且有一些已知的错误情况,我想将这些情况提供给客户端进行处理。但我无法找出 API 中返回错误的方式。它
我正在使用 Lawnchair使用我的网络客户端 (Firefox 13.0) 的“dom 适配器”存储持久数据并达到存储配额。 Console.log 说 Persistent storage ma
我尝试在 Lawnchair 中使用适配器,但遇到了问题。我的代码中有几个适配器脚本: 但是当我在我的 Lawnchair 构造函数中指定一个适配器时,我得到以下错误: Uncaught Typ
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我对如何从不同页面检索 JSON 对象有点困惑。 第 1 页片段 [存储]: $.getJSON(serviceURL + 'getTaskDetails.php?id='+id, storeTask
我正在尝试将 Lawnchair (http://westcoaSTLogic.com/lawnchair/) 用于移动项目以存储有关不同事物的信息。我需要存储在多个表中。 var people =
我正在使用来自 http://brian.io/lawnchair/ 的 Lawnchair JS在我的 Phonegap 应用程序中管理我的数据库记录。我是文档存储的新手,但对传统关系数据库很有经验
我正在使用 Ionic 框架编写一个应用程序。我使用 mongodb 作为云中的数据存储,但列表过于全面并且正在减慢应用程序的速度。在花费数百万小时阅读有关客户端存储的内容后,我仍然没有明确的答案。
我正在使用 Lawnchair 在 js 中保存数据并为我的移动应用检索数据。 我的 js 文件中有这个。 $(document).ready(function() { //Lawchair
这是我第一次尝试使用 Lawnchair .我能够让一个简单的保存/获取示例工作,但只要它在同一个应用程序启动中,获取似乎只能工作。在随后的应用程序启动中,它无法找到我之前保存的对象,因此看起来它不是
遇到了一个简单的问题,这个问题在使用 typescript 的“this”范围内的类似问题中被触及。 我有一个存储服务,可以为我的本地存储问题包裹草坪椅。现在我正在将此代码迁移到 Typescript
所以我使用 PhoneGap 和 Lawnchair 编写了一个应用程序。它在 iOS 上完美运行,但在 Android 设备上我得到: sqlite 返回:错误代码 = 14 这只发生在设备上而不是
我在 webkit-sqlite 适配器上遇到了问题。它以某种方式将 key 保存为字符串格式而不是整数。索引数据库工作得很好。它不会将 key 转换为字符串。请看下面的代码。 var ppl = L
我正在使用 Backbone.js,Lawnchair , 和 backbone.lawnchair.js . 我想知道(从应用程序和本地存储中)“清空”集合的正确方法是什么? 目前,我正在沿用这些思
我是一名优秀的程序员,十分优秀!