Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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
Ruby on rails 困难的couchdb查询_Ruby On Rails_Couchdb_Couchrest - Fatal编程技术网

Ruby on rails 困难的couchdb查询

Ruby on rails 困难的couchdb查询,ruby-on-rails,couchdb,couchrest,Ruby On Rails,Couchdb,Couchrest,我有以下疑问: view.reduce.group_level(5).keys 返回: [["1f9c79a33f399a7937d880c5f31e8dbc", 2011, 12, 29, 13], ["1f9c79a33f399a7937d880c5f31e8dbc", 2011, 12, 29, 14], ["c38332ffc275b6c70bcf06ffc39ddbdd", 2011, 12, 29, 13], ["c38332ffc275b6c70bcf06ffc39ddbdd",

我有以下疑问:

view.reduce.group_level(5).keys
返回:

[["1f9c79a33f399a7937d880c5f31e8dbc", 2011, 12, 29, 13], ["1f9c79a33f399a7937d880c5f31e8dbc", 2011, 12, 29, 14], ["c38332ffc275b6c70bcf06ffc39ddbdd", 2011, 12, 29, 13], ["c38332ffc275b6c70bcf06ffc39ddbdd", 2011, 12, 29, 14]]
第一个键是id,其他键是年、月、日、小时

我想要2010年到2013年之间的所有行。所以我想忽略第一个键

问题是,我需要设置第一个参数来获得结果,但我希望获得所有键的所有结果

例如:
view.reduce.group_level(5).startkey([“每个可能的密钥”,2010]).endkey([“每个可能的密钥”,2013,{}])

如果我将第一个键留空,则什么也得不到。如果我给它“\u9999”,则会得到所有内容,而忽略第二个键

有人知道我做错了什么

非常感谢

地图:

减少:

function(k,v,r) {
    var result = {
      'hire': 0, 'hired': 0, 'arrived': 0, 'pick up': 0, 'drop off': 0,
      'missed': 0, 'rider cancel': 0, 'driver cancel': 0, 'no show': 0,
      'avail': 0, 'unavail': 0, 'other': 0
    };
    if (r) {
      var row = null;
      for (i in v) {
        row = v[i];
        for (j in row) {
          result[j] += row[j];
        }
      }
    } else {
      for (i in v) {
        if (result[v[i]] != null) {
          result[v[i]] += 1;
        } else {
          result['other'] += 1;
        }
      }
    }

    return result;
  }
您“做错了”的是将查询中不需要的键用作视图的第一个键

如果您在另一个查询中需要它,请创建另一个视图。

您“做错了”的地方是将查询中不需要的键用作视图的第一个键


如果您在另一个查询中需要它,请创建另一个视图。

但我希望它与id一起分组。我只希望结果中有更多id。如果CouchDB没有更新,简短的回答是您不能有多个范围。不过,有不同的方法来实现解决方案(更容易的方法是将您的“id”作为最后一个键)。查看或向CouchDB用户列表询问您的问题。好的,谢谢!仅使用CouchDB是不可能的。必须使用搜索引擎找到另一个解决方案。谢谢!但我希望它与id一起分组。我只希望结果中有更多id。如果CouchDB尚未更新,简短的回答是您不能有多个范围。不过,有不同的租用解决方法(最简单的方法是将您的“ID”作为最后一个键)。查看或向CouchDB用户列表询问您的问题。好的,谢谢!仅CouchDB是不可能的。必须使用搜索引擎找到另一个解决方案。谢谢!
function(k,v,r) {
    var result = {
      'hire': 0, 'hired': 0, 'arrived': 0, 'pick up': 0, 'drop off': 0,
      'missed': 0, 'rider cancel': 0, 'driver cancel': 0, 'no show': 0,
      'avail': 0, 'unavail': 0, 'other': 0
    };
    if (r) {
      var row = null;
      for (i in v) {
        row = v[i];
        for (j in row) {
          result[j] += row[j];
        }
      }
    } else {
      for (i in v) {
        if (result[v[i]] != null) {
          result[v[i]] += 1;
        } else {
          result['other'] += 1;
        }
      }
    }

    return result;
  }