可以为rethinkdb打印创建的过滤器以进行调试吗?

时间:2015-03-24 19:25:08

标签: rethinkdb

使用节点我正在尝试以编程方式创建失败的过滤器。有没有办法在传递给RethinkDB时检查过滤器的输出?这样我就可以尝试调试过滤器。

背景 我正在尝试编写一个帮助程序,给定嵌套对象表示法a.b与给定值匹配。

例如:我正在尝试创建以下过滤器:

entry("a")("b").match(val)

使用助手:

  function iterateProp(entry, path, val) {
    if (path.length) {
      var propKey = path.shift();
      return iterateProp(entry(propKey), path, val);
    }
    return entry(val);
  }

这样称呼:

    Model.filter(function(entry) {
        var modelKey = "a.b"; //illustrational
        var val ="someValToMatch"; //illustrational
        var filter = iterateProp(entry, modelKey.split("."), val);
        console.log("filter", filter); //HOW TO DISPLAY FILTER AS CONSTRUCTED BY RETHINKDB DRIVER AND SEND TO RETHINKDB?
        return filter;
    })

这应该只适用于我的书,但事实并非如此。那么如何显示构造的过滤器以便我可以进行一些调试呢?

1 个答案:

答案 0 :(得分:2)

您可以在查询末尾添加toString()(替换run()),以查看驱动程序将向服务器发送的内容。

console.log(r.table("test").filter(...).toString())