backbone-couchdb如何通过非id属性获取单个模型

时间:2013-10-18 01:48:32

标签: backbone.js couchdb

我正在使用backbone-couchdb。 我有很多功能正常工作。我可以创建,编辑和保存模型并获取集合。现在,我正处于一个需要通过其“tag”属性获取单个模型的地方。 backbone-couchdb库设置为通过“id”执行此操作。

我理解视图,键和过滤器以及我需要手动从CouchDB中提取数据所需的一切(使用curl)但我不知道如何通过backbone-couchdb通过它的“标签”获得一个模型。

这有意义吗?你有没有这样做,你能发布一些帮助吗?

2 个答案:

答案 0 :(得分:0)

我不知道backbone-couchdb,但我确信它有some means for querying views...

基本上你需要做的是

1)创建一个以by_tag为键的视图(例如名为tag),例如

function(doc)
{
    if(doc.tag)
    {
        emit(doc.tag, null);
    }
}

2)将视图添加到设计文档(例如_design/documents)并将其上传到您的数据库

3)使用一些其他参数查询您的视图:

  • include_docs=true包含在回复中为其创建结果的文档
  • limit=1如果您只想检索一个结果
  • key="mytag"他们标记您对
  • 感兴趣

使用curl,这将是

curl http://localhost:5984/mydb/_design/documents/_view/by_tag?key=%22mytag%22&include_docs=true&limit=1

答案 1 :(得分:0)

解决方案可能是定义模型并覆盖id属性(将其设置为tag)。 然后,您可以使用couchdb中的自定义视图来获取它。

RG,

桑妮