我的REST API允许用户决定他们想要查找项目的方式。 它们有两个选项,默认选项和第二选项。
网址如下:
/项目/ {ID}
用户可以选择对请求传递“查询”,即
/项目/ {ID}?键= SKU
我正在使用Node.js,restify和mongoJS。我正在尝试动态设置查询中的“键”,如下所示:
// default lookup is always id
var queryKey = '_id';
// if the optional 'via' query is set to sku change the lookup key
if(viaVal === 'sku' ){
queryKey = 'sku'
}
mongo.idpool.findOne({queryKey: id},
当我正在调试并且不起作用时,这会导致“非法访问”错误。
答案 0 :(得分:1)
使用变量作为属性名称时,需要使用computed property name语法,方法是将其括在方括号中:
mongo.idpool.findOne({[queryKey]: id}, ...