1
JavaScriptからJSONドキュメントとして私のサーバーにクエリを送信しています。このクエリは、私の文書を見つける際にMongooseが使用する正規表現を含んでいなければなりません。大文字と小文字を区別しない正規表現をJSON経由でマングースに送信する
{
query: {
foo: "^bar"
}
}
上記のクエリが正常に動作しますが、私はそれが大文字と小文字を区別することにしたいです。
{
query: {
foo: "/^bar/i"
}
}
ない仕事を(私はCastError
を得る)い。 RegExを引用符なしで送信することはできません。これはJSONであるためです。
サーバー側の変更なしでこれを動作させる方法はありますか?
' "foo" という:/バー/ i'または' "FOO":{ "$の正規表現": "バー"、 "$オプション": "I"} 'あるいは' "foo" という:{ "$ regex":/ bar /、 "$ options": "i"} '。十分に文書化されている。参照:['$ regex'](https://docs.mongodb.org/manual/reference/operator/query/regex/)。 Mongooseから ''キャストエラー ''を受け取った場合は、実際にデータを "保存"してクエリを発行しようとしていないことを意味します。 BTW Regex **は**有効なBSON型ですので、MongoDB文書にそのまま保存することも可能です。 –
@BlakesSeven私はこれをRESTに送信しています。だからJSON。 BSONではありません。 '$ options'はうまくいったので、うれしいですね。あなたが私に対して何を持っているのかがわからない場合、私はこのサイトの50%です。 – Harangue