Cloudant / CouchDB按嵌套数组的内容查询

时间:2015-09-11 05:22:38

标签: couchdb cloudant

在我的cloudant数据库中,我有像这样的对象。我想查询基于嵌套数组中属性的对象。

在下面的示例中,如何查询使用userId =" user1"?进行投票的所有对象查询应返回两个对象。当我搜索userId" user2"它应该返回第一个,因为第二个对象只有来自user1和user4的投票。

{
    "_id": "1",
    "votes": [
        {
            "userId": "user1",
            "comment": ""
        },
        {
            "userId": "user2",
            "comment": ""
        },
        {
            "userId": "user3",
            "comment": ""
        }
    ]
}

{
    "_id": "2",
    "votes": [
        {
            "userId": "user1",
            "comment": ""
        },
        {
            "userId": "user4",
            "comment": ""
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

此视图将返回按userId排序的所有投票列表(其中投票是userId和_id),仅用于使用user1?key =“user1”

function(doc) {
  for(i in doc.votes)
    emit(doc.votes[i].userId, doc._id);
}

/ DBNAME / _design /富/ _view /栏?键= “user1的”

{"total_rows":5,"offset":0,"rows":[
{"id":"1","key":"user1","value":"1"},
{"id":"2","key":"user1","value":"2"}
]}