0

mongodb で「like」クエリを実行しようとしています。それは正規表現で行われていることがわかるので、次のように設定しようとしています:

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

問題は angular.toJson 関数が正規表現を取得しないことです: http://plnkr.co/edit/idXMT1

それを行う他の方法はありますか?

4

2 に答える 2

0

私はついに解決策を見つけました。

問題は、toJon関数を使用することです。これは、/または$で始まるキーを許可しないため、解決策はこの関数の使用を避け、オブジェクトを文字列として書き込むことです。

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

あなたの質問に対する私の理解から、JSON オブジェクトに正規表現を文字列として含めたいですか?

その場合、宣言で手動で文字列に変換できます。つまり、次のようになります。

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

更新されたプランクを参照してください:

http://plnkr.co/edit/yLogI8

于 2013-02-20T23:05:46.140 に答える