0

我正在尝试在 mongodb 中进行“喜欢”查询。我看到这是用正则表达式完成的,所以我试图这样设置:

$scope.clients = Client.query({
        q:angular.toJson({
            name: RegExp($routeParams.str)
        })
    });

问题是 angular.toJson 函数没有得到任何正则表达式: http ://plnkr.co/edit/idXMT1

有没有其他方法可以做到这一点?

4

2 回答 2

0

根据我对您问题的理解,您希望您的 JSON 对象包含正则表达式作为字符串吗?

在这种情况下,您可以在声明中手动将其转换为字符串,即:

$scope.object = angular.toJson({
    "param" : new RegExp(str).toString()
});

查看更新的 plunk:

http://plnkr.co/edit/yLogI8

于 2013-02-20T23:05:46.140 回答
0

我终于找到了解决方案。

问题是使用 toJon 函数,因为它不允许任何以 / 或 $ 开头的键,因此解决方案是避免使用此函数,只需将对象写为字符串

$scope.clients = Client.query({
    q:'{src:{$regex:"' + $routeParams.str + '"}}'
};
于 2013-03-02T19:26:16.627 回答