Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干couchdb如何通过非id属性获取单个模型_Backbone.js_Couchdb - Fatal编程技术网

Backbone.js 主干couchdb如何通过非id属性获取单个模型

Backbone.js 主干couchdb如何通过非id属性获取单个模型,backbone.js,couchdb,Backbone.js,Couchdb,我用的是主干couchdb。 我有很多功能工作得很好。我可以创建、编辑和保存模型以及获取集合。现在,我需要通过“tag”属性只获取一个模型。主干couchdb库是通过“id”设置的 我了解视图、键、过滤器以及手动(使用curl)从CouchDB中提取数据所需的一切,但我不知道如何通过主干CouchDB的“标记”只获取一个模型 这有意义吗?你做了这件事了吗?你能发布一些帮助吗?我不知道couchdb,但我肯定它做了 基本上你需要做的是 1) 创建一个视图(例如名为by_tag),该视图将标记作为键

我用的是主干couchdb。 我有很多功能工作得很好。我可以创建、编辑和保存模型以及获取集合。现在,我需要通过“tag”属性只获取一个模型。主干couchdb库是通过“id”设置的

我了解视图、键、过滤器以及手动(使用curl)从CouchDB中提取数据所需的一切,但我不知道如何通过主干CouchDB的“标记”只获取一个模型


这有意义吗?你做了这件事了吗?你能发布一些帮助吗?

我不知道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来实现。