問題タブ [mongo-scala-driver]

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.

0 投票する
0 に答える
49 参照

scala - mongo-scala-driver: Observable で部分的な結果とデコード エラーの両方をキャプチャするにはどうすればよいですか?

検索操作を使用して、出現するデコード例外とデータの両方を値としてキャプチャする方法はありますか?

取得したすべての BSON をデコードすると、無効なプロパティを持つものもあり、ドメイン オブジェクトにデコードできません。

私が考えていたこと:

1 つの値をデコードできない場合、操作全体が失敗することに気付きました。どういうわけかエラーと有効なデータを蓄積できると思っていました。

0 投票する
2 に答える
281 参照

json - Scala 言語を使用した MongoDB

MongoDB と Scala 言語は初めてです

私はscala言語を使用してmongodbをローカルに接続しています

以下の依存関係を使用しています

// https://mvnrepository.com/artifact/org.mongodb.scala/mongo-scala-driver

libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "4.2.3"

私が試したこと

以下の形式でデータを返す上記のコード

私も試してみました

私も試してみましたがprintResult()printHeadResult()方法はどれも機能していません

事前に感謝を助けてください

0 投票する
1 に答える
161 参照

mongodb - ケースクラスの継承された要素がscala mongoドライバーを使用してmongodbに永続化されない

mongo-scala-driver 2.7.0 を使用して mongo db に永続化したかったのです。私のケースクラスは次のように少し見えます

ご覧のとおり、アプリに対するメタデータは、アプリ (App1 と App2) によって大きく異なる場合があります。したがって、すべてのアプリで使用できる 1 つのメタデータ ケース クラスを持つことはできません。したがって、上記のように、アプリごとにメタデータのケース クラスを用意し、それらすべてを親のトレイトから拡張することにしました。これを達成するために、ここでscala mongoドライバーのドキュメントと別のstackoverflowの質問に従おうとしていました。ご覧のとおり_t、sealed trait にフィールドを入れました。ドキュメントによると、これは Bson との間でドキュメントをデコードおよびエンコードする際のヒントとして役立つため、必須です。

これが私のコーデックの外観です

私は単に使い続ける

mongo db に永続化されているドキュメントには、_t field内部のメタデータ オブジェクトがありません。これは、Mongo Scala Driver が bson を適切なメタデータ ケース クラスに変換するためにドキュメントに従って必要なため、次を使用してドキュメントを取得しようとすると

エラーメッセージで次のように表示されます

Could not decode sealed case class. Missing '_t' field.

ただし、_t フィールドをメタデータ オブジェクト内の mongo に、デコード先のクラスの名前で明示的に追加すると、すべてが正常に機能し、get 操作中に正しいケース クラスが取得されます。_t fieldなぜ mongo insert を使用しても、が挿入されないのかわかりません