値に " - "を含むすべてのウィンドウ特殊文字があり、Mongoに直接挿入することはできないものとします。Mongoからデータを保存/取得する際に特殊文字をエスケープする方法
- ここでmongo dbの特殊文字制限がありますか?
- 保存または取得中にエスケープする方法はありますか?
例では、角括弧([...])で値を渡す必要がありますか?特殊文字を使用してレコードを挿入および取得する方法。
ありがとうございました。
値に " - "を含むすべてのウィンドウ特殊文字があり、Mongoに直接挿入することはできないものとします。Mongoからデータを保存/取得する際に特殊文字をエスケープする方法
例では、角括弧([...])で値を渡す必要がありますか?特殊文字を使用してレコードを挿入および取得する方法。
ありがとうございました。
この:
MongoCollection.findOne(query, parameter)
は、問題を解決しました。
クエリとパラメータexplicite:
MongoCollection.findOne("{ empName: # }", empName)
MongoDBの値には、任意のUTF-8文字列を使用できます。エスケープすることはクライアントプログラムの責任です。使用しているクライアントプログラム/言語ドライバによっては、その言語に必要なエスケープ文字を使用する必要があります。
あなたはJongoを使用していると述べているので、Javaとmongo-javaドライバを使用していることになります。 Javaでは、使用しようとしているキャラクタにユニコードのエスケープシーケンスを使用できます。たとえば、\ u2014はemダッシュ文字です。例えば
:
DB db = new MongoClient().getDB("test");
Jongo jongo = new Jongo(db);
MongoCollection collection = jongo.getCollection("mycollection");
collection.insert("{fieldWithDash: 'x-y', fieldWithEmDash: 'x\u2014y'}");
Test test = collection.findOne("{fieldWithEmDash: 'x\u2014y'}").as(Test.class);
System.out.println(test);
何クライアント/ドライバ、あなたのデータを挿入するために使用していますか? – helmy
JongoドライバAPI – Kathire