問題タブ [jongo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jackson - MongoDb と Jongo - フィールドでハッシュ (#) をエスケープする
Jackson/Jongo を使用して、MongoDB に保存されたデータを読み取り、POJO に逆シリアル化しようとしています。フィールドにハッシュが含まれていない場合、これは正常に機能します。フィールドにハッシュが含まれている場合、Jongo はこれをプレースホルダーと見なし、別のオブジェクトがそれを置き換えることを期待します。
たとえば..
Person ed = collection.findOne("{name:\"ed\"}").as(Person.class);
.. 正常に動作します。
しかし..
Sale s = collection.findOne("{orderRef:\"#1000\"}").as(Sale.class);
.. うまくいきません。
ハッシュを引数として渡そうとしましたが、それでも失敗します。例えば:
Sale s = collection.findOne("{orderRef:\"#1000\"}", "#").as(Sale.class);
他の誰かがこの問題を経験したことがありますか? どんな支援も大きな助けになるでしょう!
ありがとう、
エド
java - Jongo の JSON 解析エラー
私は、基本的な Web CRUD アプリの間で、Java Play Framework、MongoDB、および Jongo を組み合わせて使用しています。文字列に不正な文字が含まれていないにもかかわらず、JSON 解析例外が発生し続けます。実際には、ステートメントの最後にある中括弧を閉じることに失敗しています。以下は私のエラーとコードです。クエリ文字列は単なる文字列ビルダーであり、オブジェクトが空であるか値があるかを検索し、値がある場合は文字列に追加されます。
ジョンゴ方式:
コントローラー メソッド: 文字列ビルダーの例:
このエラーが表示されます:
「}」のエラーで終わります。
それに加えて、\" を入力して文字をエスケープしようとすると、\"date\" になり、次のように解析されてエラーになります。
java - MongoDB、Java、および Jongo を使用した動的クエリの作成
基本的な Web CRUD アプリの間で、Java と Scala ではなく Java を使用する Play フレームワーク、MongoDB と Jongo を組み合わせて使用しています。文字列に不正な文字が含まれていないにもかかわらず、JSON 解析例外が発生し続けます。実際には、ステートメントの最後にある中括弧を閉じることに失敗しています。以下は私のエラーとコードです。クエリ文字列は単なる文字列ビルダーであり、オブジェクトが空であるか値があるかを検索し、値がある場合は文字列に追加されます。
ジョンゴ方式:
コントローラー メソッド: 文字列ビルダーの例:
このエラーが表示されます:
「}」のエラーで終わります。
それに加えて、\" を入力して文字をエスケープしようとすると、\"date\" になり、次のように解析されてエラーになります。
実際にこれを行うことはできますか、それともJavaが挿入されているため、引用符は文字列全体を囲んでいるため、単一のJSONフィールドとクエリ全体として読み取ろうとしていますか?
java - Jongo と MongoDB を使用した jackson デシリアライゼーションで ObjectId _id の名前を id に変更
私は、play フレームワーク、jongo、および MongoDB を使用してプロジェクトに取り組み始めました。このプロジェクトは最初、@Id と @ObjectId の両方で注釈が付けられた String id フィールドを持つ pojo を使用して Play 2.1 で作成されました。 .
Jongo 1.1 および Play 2.3.3 にアップグレードしてから、デシリアライズ時に id 属性の名前は常に「_id」になるため、属性にフィールド名を保持させたいのですが、@JsonProperty("custom_name") を Jongo @Id アノテーションとして使用できません。舞台裏で @JsonProperty("_id") を実行します。
MongoDB に永続化された POJO は、RoboMongo 経由で表示すると、次のようになります。
ただし、両方の注釈を保持すると、それらを逆シリアル化すると、次の json が得られます。
@Id アノテーションのみを使用した場合の次の出力。
上記の PretendPojo ショーを操作するためのテスト ケースがあります。
カスタム デシリアライザーを使用しようとすると、オブジェクト ID を取得できません。現在デシリアライズされている日付/時刻/タイムスタンプ データにしかアクセスできないようです。
理想的には、私が探している出力は次のようになります。
どんな助けでも大歓迎です!:)
mongodb - Jongo MongoCollection.insert(String query) は # をパラメーターとして解析しています。それを回避する方法
JSON をコレクションに挿入するために、jongo の mongoCollection.insert(String query) メソッドを呼び出しています。JSON のフィールド値に # 文字が含まれています。しかし、# はクエリ パラメーター トークン インジケーターとして使用されるため、「クエリに十分なパラメーターが渡されていません」というメッセージで解析エラーが発生します。
# 文字を含む動的 JSON 文字列 (JSON の構造やスキーマがわからないことに注意してください) を保存するにはどうすればよいですか?
例: { "order_id":"123445", "order_name":"test val#1" }
「test val#1」は、ユーザーが入力した単なる文字列値です。すべてのフィールド値をエンコードしたくありません。私の場合、それは不可能かもしれません。回避策があれば教えてください。
ありがとう
mongodb - Jongo を使用して null フィールドを持つ MongoDB に POJO を保存する
そのため、Jongo を使用して作成し、MongoDB コレクションに保存する POJO オブジェクトがあります。
オブジェクトを mongo に保存するためのテスト クラス:
このテストは、オブジェクトを正常に保存します。
しかし、私が本当に欲しいのは、objectB の null マッピングが次のように表示されることです。
コレクション内のフィールドが null 値を持つ可能性があることは知っていますが、これを jongo ドライバーで行う方法がわかりません。アイデアはありますか?
参考までに、私はジョンゴV1.1を使用しています
java - playframework でクラスをドキュメントにマッピングしようとすると、MarshallingException が発生する
Java で Play 2.3.2 アプリケーションを作成しており、MongoDB のドライバーとして Jongo を使用しています。コードにいくつかの変更を加えた後、アプリケーションで実行時エラーが発生します。getUser メソッドの 4 行目にエラーが表示されます。これは私の使用コードです:
Module
クラスをに追加した後、上記の行Company
のメソッドas
は の結果を非整列化できませんでしたfind
。
そして、これは実行時エラーです: