【问题标题】:How to search by array如何按数组搜索
【发布时间】:2019-05-23 19:03:39
【问题描述】:

我有一些格式如下的文件:

{
 url: 'some-unique-url',
 name: 'some-name'
}

我需要做的是通过提供一个包含我需要选择的 url 的数组来选择具有特定 url 的文档:

['some-unique-url', 'another-url']

这是我目前的视图:

function(doc) {
  if(doc.type == 'message'){
    emit([doc.url], null);
  }
}

这是我的 node.js 代码。我正在使用nano

db.view('message', 'by_url', {'key': urls}, function(err, body){
    res.send(body);
});

如果我在数组中只有一个项目,但只要我添加另一个项目,这就是我得到的:

{"total_rows":18,"offset":11,"rows":[]}

我还尝试了startkeyendkey,它们也可以,但它的作用与前一个相同:

db.view('message', 'by_url', {'startkey': online_users_ids, 'endkey': [online_users_ids, {}]}, function(err, body){
    res.send(body);
});

我想用 couchdb 和 nano 做的事情可行吗?如果没有,在不损失性能的情况下,我能得到的最接近的东西是什么?提前致谢!

【问题讨论】:

    标签: node.js couchdb couchdb-nano


    【解决方案1】:

    您需要使用keys 而不是key,如CouchDB API Reference 中所述。

    db.view('message', 'by_url', {'keys': urls}, function(err, body){
        res.send(body);
    });
    

    【讨论】:

      猜你喜欢
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-12
      • 1970-01-01
      • 2020-03-06
      • 2011-03-17
      • 2019-03-11
      相关资源
      最近更新 更多