【问题标题】:How do I use Node.js Cradle with multiple keys?如何使用带有多个键的 Node.js Cradle?
【发布时间】:2011-12-05 11:16:41
【问题描述】:

我一直在尝试在 Cradle 中使用多个键,但我几乎要放弃了,因为我在任何地方都找不到帮助。

我将此查询与 HTTP 请求一起使用,它会为我带来结果

gps_map/_design/carros/_view/teste?startkey=[353451044986295]&endkey=[353451044986296,{}]&limit=50

但我不知道如何使用 Cradle 来达到相同的结果,我已经尝试过

var car = 353451044986295;
db.view('carros/teste',{limit:50,startkey:[car],endkey:[car,{}]},function(err,res)

var car = 353451044986295;
db.view('carros/teste',{limit:50,startkey:'['+car+']',endkey:'['+car+',{}]'},function(err,res)

没有成功,就没有结果。如何在 Cradle 中使用多个键?

【问题讨论】:

  • 无,简单的找不到任何结果

标签: node.js couchdb key cradle


【解决方案1】:

查看您的 couchdb 日志以查看实际对数据库发出的请求。 生成的请求字符串可能不是您所期望的。 您可能还需要设置 descending=true?

【讨论】:

  • 我已经放弃了摇篮,继续前进。我正在使用一个裸 http 请求,它正好符合我的目的
  • 查看日志对我很有帮助。 http:///_log url中没有数据库,只有root + _log
【解决方案2】:

这个语法对我有用:

CoffeeScript 版本:

filterRange =
    startkey:[100]
    endkey:[400]

@dbClient.view 'business/customers', filterRange, (err, results, fields) =>
    if err
        throw err

JavaScript 版本:

var filterRange, _this = this;
filterRange = {
    startkey: ["business_9ba1b5c72af4072b2885b10d36000fa0"],
    endkey: ["business_9ba1b5c72af4072b2885b10d36000fa0", {}]
};

this.dbClient.view('business/customers', filterRange, function(err, results, fields) {
    if (err) throw err
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多