Backbone.js 主干couchdb如何通过非id属性获取单个模型
我用的是主干couchdb。 我有很多功能工作得很好。我可以创建、编辑和保存模型以及获取集合。现在,我需要通过“tag”属性只获取一个模型。主干couchdb库是通过“id”设置的 我了解视图、键、过滤器以及手动(使用curl)从CouchDB中提取数据所需的一切,但我不知道如何通过主干CouchDB的“标记”只获取一个模型Backbone.js 主干couchdb如何通过非id属性获取单个模型,backbone.js,couchdb,Backbone.js,Couchdb,我用的是主干couchdb。 我有很多功能工作得很好。我可以创建、编辑和保存模型以及获取集合。现在,我需要通过“tag”属性只获取一个模型。主干couchdb库是通过“id”设置的 我了解视图、键、过滤器以及手动(使用curl)从CouchDB中提取数据所需的一切,但我不知道如何通过主干CouchDB的“标记”只获取一个模型 这有意义吗?你做了这件事了吗?你能发布一些帮助吗?我不知道couchdb,但我肯定它做了 基本上你需要做的是 1) 创建一个视图(例如名为by_tag),该视图将标记作为键
这有意义吗?你做了这件事了吗?你能发布一些帮助吗?我不知道couchdb,但我肯定它做了 基本上你需要做的是 1) 创建一个视图(例如名为
by_tag
),该视图将标记作为键发出,例如
function(doc)
{
if(doc.tag)
{
emit(doc.tag, null);
}
}
2) 将视图添加到设计文档(例如\u design/documents
)并将其上载到数据库
3) 使用一些附加参数查询视图:
include\u docs=true
在响应中包括为其创建结果的文档
limit=1
如果只想检索一个结果
key=“mytag”
它们是您感兴趣的标签
有了旋度,这将是
curl http://localhost:5984/mydb/_design/documents/_view/by_tag?key=%22mytag%22&include_docs=true&limit=1
解决方案可能是定义一个模型并覆盖id属性(将其设置为tag)。
然后您可以使用couchdb中的自定义视图来获取它
Rg
Sanne是的,你说得对,这可以通过主干“集合”实现,但不能通过“模型”实现。使用主干couchdb,您只能通过集合进行自定义attrib获取,这通常是多个模型,我只想通过“名称”attrib获取一个模型。实际上,我在我的代码中使用了一个特别命名的“SingleCollection”,它总是返回一个单一的模型,但它很麻烦,应该通过model.fetch来实现。