可以为调试目的打印为 rethinkdb 创建的过滤器吗?
possible to print created filter for rethinkdb for debugging purposes?
我正在尝试使用节点以编程方式创建失败的过滤器。有没有办法在过滤器传递给 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;
})
这应该适用于我的书,但它没有。那么如何显示构建的过滤器以便我进行一些调试?
您可以在查询末尾添加一个 toString()
(替换 run()
)以查看驱动程序将向服务器发送什么。
console.log(r.table("test").filter(...).toString())
我正在尝试使用节点以编程方式创建失败的过滤器。有没有办法在过滤器传递给 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;
})
这应该适用于我的书,但它没有。那么如何显示构建的过滤器以便我进行一些调试?
您可以在查询末尾添加一个 toString()
(替换 run()
)以查看驱动程序将向服务器发送什么。
console.log(r.table("test").filter(...).toString())