CouchDB / Cloudant查询视图按键是数组吗?

时间:2018-04-25 18:51:57

标签: couchdb cloudant

alice.view('characters', 'soldiers', {
  'keys': ['Hearts', 'Clubs']
}, function(err, body) {
  if (!err) {
    body.rows.forEach(function(doc) {
      console.log(doc.value);
    });
  }
});

这会过滤key: "Heart"还是key: "Clubs"还是完全匹配key: ["Hearts", "Clubs"]?我希望做后者,我的键是带有2个项目的数组。

此外,如果我只是插入数据库,我可以期望在运行该代码时该视图立即是最新的吗?

1 个答案:

答案 0 :(得分:1)

上面的view()函数将按键过滤:" Heart"或关键:"俱乐部"。
相反,您可能想尝试使用startkeyendkey

*DB_NAME*/_design/characters/_view/soldiers?startkey=["Hearts", "Clubs"]&endkey=["Hearts", "Clubs"]&inclusive_end=true
某事,像这样:

alice.view('characters', 'soldiers', {
  'startkey': ['Hearts', 'Clubs'],
  'endkey': ['Hearts', 'Clubs'],
  'inclusive_end': true
}, function(err, body) {
  if (!err) {
    body.rows.forEach(function(doc) {
      console.log(doc.value);
    });
  }
})

参考:

https://stackoverflow.com/a/42398481