0

MongoDB の使用時に問題が発生する

文字列を MongoDB に直接保存すると、エラーが発生します。

utf8 以外の文字列: fran��ai

しかし、文字列を UTF-8 にエンコードしたくないので、MongoBinData()を使用してこれを行い、データを MongoDB に格納できるようになりました。

しかし、データベースで何かを検索/検索したい場合、何も返されません

私の検索方法は

find(array("lines" =>array("bin"=> new MongoRegex("/1234/i"))));

NULLを返します(データベースには「1234」を含む文字列が多数あります)

アドバイスをいただけますか?

4

1 に答える 1

1

正規表現は、UTF-8 でエンコードされた文字列でのみ機能します。そのため、文字列を検索可能にするには、文字列を UTF-8 に変換する必要があります。なんらかの理由で文字エンコーディングを維持することを主張する場合、他の唯一のオプションは、すべての文字列に対して 2 つのフィールドを用意することです。

于 2013-10-17T12:27:14.880 に答える