使用节点我正在尝试以编程方式创建失败的过滤器。有没有办法在传递给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;
})
这应该只适用于我的书,但事实并非如此。那么如何显示构造的过滤器以便我可以进行一些调试呢?
答案 0 :(得分:2)
您可以在查询末尾添加toString()
(替换run()
),以查看驱动程序将向服务器发送的内容。
console.log(r.table("test").filter(...).toString())