MongoClientのcollection.find()メソッドにオブジェクトを渡そうとしていますが、値を引用符で囲む必要はありません。私はリテラルを渡すとそれが期待どおりに動作:引用符を含まないテキスト文字列でオブジェクトを作成するにはどうすればよいですか?
cursor = collection.find({EmployeeName: {'$regex': /Jo/i}});
をしかし、私は試してみて、のようなそのオブジェクトを構築する場合:
var queryt = "/Jo/i";
var queryo = {
EmployeeName: {'$regex': queryt}
};
それは動作しません。私のアプリケーションquerytに実際にから返される「クエリ」オブジェクトから値を抽出することによって設定されていることを
{ EmployeeName: { '$regex': '/Jo/i' } }
注:私はconsole.log(queryo)
をすれば、私は「ジョー/ i」の前後に引用符があることがわかりますexpressから 'get'関数。たとえば、「?EmployeeName:/ Jo/i」の終了URLを持つWebページを呼び出しています。私の「取得」機能では私がやっている:
var queryt=req.query.EmployeeName;
だから、基本的に私は、HTTP GETリクエストを経由してクエリを受け入れ、バックエンドサーバーであることを、このアプリをNode.jsの使用しようとしています。
私は引用符をストライピングするさまざまな方法を試みましたが、成功しませんでした。
これは初心者のタイプの質問ですが、私はちょうど学んで、それを回避するために何時間も費やしています。私はもっと味付けしたnode.jsの開発者が、このオブジェクトをどのように構築して、collection.findがそれを受け入れるかをすぐに教えてくれることを願っています。ありがとう!
現在、あなたは正規表現オブジェクトではなく文字列を作成しています。あなたが最初に示したように、 'var queryt =/Jo/i;'でなければなりません。 – nnnnnn