問題タブ [spring-data-mongodb]
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.
mongodb - Spring データを使用した Mongodb 動的スキーマ
MongoDB に構成を保存しようとしています。コレクションにさまざまな種類の構成を格納できるように、ドキュメント スキーマを動的にする必要があります。構成は、単純な文字列のキーと値のペア以上のもので構成される場合があります。spring-data-mongodb を使用しているときに、通常は mongodb にマップされるクラスを定義する必要があることがわかりました。そのため、コレクションにさらに構成を追加する必要がある場合は、クラスを変更する必要があります。コードを変更せずに (そして理想的には長時間実行されているアプリケーションを再起動せずに) 構成を変更できるようにしたいので、これは本当にしたくありません。また、最終的に保存するのは、さまざまなサービスで使用する必要がある構成であるため、明確に定義されたスキーマを持つことはできません。代わりに、サービスがストアから構成をプルするようにします (つまり、キーを提供し、値を取得します)。これは、 spring-data-mongodb がそのようなユースケースの正しい選択である場所を疑っています。私のユースケースに明らかな解決策または代替手段はありますか?
前もって感謝します。
spring-data-mongodb - カスタム リポジトリ インターフェイスのエラー
マルチモジュールの Maven 3 プロジェクトで、Spring Data for MongoDB を使用して最初の Java アプリケーションをセットアップしようとしています。関連するバージョンは次のとおりです。
- Java 7
- mongodb-win32-x86_64-2.2.0
- 春のデータ 1.1.1.RELEASE
- 春 3.2.0.RELEASE
次のランタイム エラーが発生します。
Google で検索すると、同じ問題を抱えている人が見つかりました。カスタム リポジトリに関連しているようです。
これは、mongo ドキュメントとして保存したいエンティティです。
標準リポジトリ インターフェイス。
カスタムインターフェイス(エラーが発生していると思われる場所)。
カスタム インターフェイスの実装。
最後に、アプリケーション コンテキストです。
また、上記のアプリケーション コンテキストの読み込みに失敗し、一番上にリストした例外が発生する小さな Spring テストもあります。
以下を追加しようとしましたが、同じ例外が発生します。
誰かがエラーが何であるかの手がかりを得ましたか?
mongodb - MongoDB固有のID
MongoDBでフォーマット「id」を設定する方法が見つかりません。SpringData Mongoを使用していますが、idが正常ではありません。私はpostgres「BIGSERIAL」としてidを実行し、自動インクリメントしたいと思います。誰もがそれをどのように知っていますか?
mongodb - MongoDBの一意のインデックスは上書きを許可しません
Mongoドキュメントのフィールドの1つにunique=trueのインデックスを作成しました。これは期待どおりに機能します。既存のエントリを上書きすることにより、重複を禁止します。
上書きを禁止し、代わりに重複を挿入しようとするとエラーまたは例外が発生します。これを行う方法はありますか?Spring Data MongoDBでこれを行うにはどうすればよいですか?
mongodb - サブコレクションでSpring Data mongo @CompoundIndexを使用するには?
次のようなエンティティがあるとします。
A.id AND B.id に関して CompoundIndex を一緒に使用することは可能ですか?
つまり、次のようになります。
前もって感謝します。
spring-data - spring-data-mongodbでのAuditableのサポート?
私の知る限り、spring-data-mongodbプロジェクト(バージョン1.1.1.RELEASE)ではorg.springframework.data.domain.Auditableはサポートされていません。この機能を実装するためのヒントやリファレンスを誰かが持っていますか?
social-networking - ソーシャルRESTfulレイヤーのNeo4jSpringデータPOC
新しいプロジェクトに取り組み始めています...ソーシャルネットワークプラットフォームにサービスを提供するRESTfulレイヤー。
Neo4jはメインデータストアの私の明白な選択でした。以前はNeoを使用する機会がありましたが、 SpringDataの機能を利用してPOJOをノードにマッピングすることは非常に便利でした。
目標:
レイヤーは、URLから参照できるエンティティ/オブジェクト関連のプロパティと接続を定義するFacebookGraphAPIに似たサポートを提供する必要があります。FBグラフAPI
可能であれば、ドメインエンティティとの間でシリアル化される転送オブジェクトを避け、クライアントとの間で転送されるJSONとしてドメインpojoを使用したいと思います。
例:
HTTP GET / profile / {id} /?fields = ...&connections = ...応答は、要求されたURLを含むプロファイルオブジェクトになります。
HTTP GET / profile / {id} / stories /?fields = ..&connections = ...&page = ..&sort = ...応答は、要求されたストーリーオブジェクトのリストになります。
関連するバージョン:
- Spring Framework 3.1.2
- Spring Data Neo4j 2.1.0.RC3
- Spring Data Mongodb 1.1.0.RC1
- AspectJ 1.6.12
- ジャクソン1.8.5
簡単にするために、プロファイル、ストーリーノード、およびそれらの間のロール関係があります。
プロファイルノード
ストーリーノード
役割の関係
最初はAspectJサポートを使用しませんでしたが、POJOと実際のノードの間に仕切りを生成するため、ユースケースに非常に役立ちます。したがって、リクエストとドメイン駆動型に応じてプロパティ/接続を簡単にリクエストできます。デザインアプローチはとてもいいようです。
質問1-AspectJ:
オブジェクトのデフォルトフィールドを定義したいとします。これらのフィールドは、URLで要求されたかどうかに関係なくクライアントに返されます...したがって、これらのフィールドで@FETCHアノテーションを試しましたが、使用すると機能しないようです。 AspectJ。現時点ではそのようにしています。
それを達成するための正しいアプローチですか?AspectJを使用している場合でも、@ FETCHアノテーションをサポートする必要がありますか?AspectJ + Neo4jについて話している例/ブログで、ほとんど何も見つかりませんでした。
質問2-ページネーション:
たとえば、特定の接続を要求するときにページネーションをサポートしたい
/ profile / {id} / stories /、ストーリーが以下のように関連している場合
/ profile / {id} / stories /、以下のように関連するストーリーの場合
ページ付けは、@Query ||のいずれかですぐにサポートされますか @RelatedTo || @RelatedToViaは、Set / List / Iterableの代わりにPageableインターフェイスを使用してPageを取得しますか?制限と並べ替えは、クライアントからの要求に応じて動的である必要があります... Cypher Query DSLを使用してそれを達成できますが、基本を使用することを好みます。他のアプローチは喜んで受け入れられます。
質問3-{self}を使用した@Query:
ちょっとばかげた質問ですが、仕方がありません:)、ノードエンティティ内で@Queryを使用する場合({self}パラメータ}を使用する場合、戻り型はIterableである必要があります。これは意味があります。例を見てみましょう。 。
公開された接続が要求された場合:
そのための回避策はありますか?これは、Profile内で@Transiantになる別のプロパティを作成していません。
質問4-漸化式:
推移的/再帰的関係に問題があります。ストーリーで新しいプロファイルロールを割り当てると、リレーションエンティティロールに@EndNodeストーリーが含まれ、ロール接続が含まれます...そのうちの1つは上記のコンテキストロールであり、終了することはありません:) ...これらの終わりのない関係を作成しないようにSpringデータエンジンを構成する方法はありますか?
質問5-トランザクション:
前に言及したはずですが、Neo4j DBにRESTサーバーを使用しています。以前の記事から、トランザクションですぐに使用できるサポートがないことを理解していますか?組み込みサーバーを使用するときのように、私は次のコードを持っています...
これはRESTサーバーを使用するときにトランザクションで実行されますか?ここにはいくつかの操作がありますが、1つが失敗した場合、すべてが失敗しますか?
質問6-Mongo+Neo4j:
フィード、コメント、マッサージなど、リレーショナルな性質を持たないデータを保存する必要があります。これらを保存するためにMongoDB
との統合を考えました。クロスストアサポートを使用して、ドメインpojoフィールド/接続をmongo / neo4jの両方に分割できますか?AspectJをサポートしますか?
今のところは以上です....上記で提示したアプローチに関するコメントは大歓迎です..ありがとうございます。
spring-data - アノテーションを使用しないシリアル化ポリシー spring-data-mongodb のカスタマイズ
ドメインクラスにアクセスできないため、アノテーション (@Id、@Document、@Field など) を使用せずに、spring-data-mongodb (バージョン 1.1.1.RELEASE) のシリアル化ポリシーをカスタマイズ/構成したいと考えています。
これは可能ですか?はいの場合、これを行う最も効率的な方法は何ですか?
mongodb - mongoDB フレンド関係とアトミック更新
Spring Data を使用して、ユーザーの友人関係を MongoDB に保存する必要があります。私の「スキーマ」ソリューションは、ユーザー ドキュメント内に友人のユーザー名 (_id でもあります) を格納することです。Spring Data と DBRef の自己関係に問題があるように見えるため、DBRef を使用していません (友達はユーザーです:p)。シンプルなユーザー ドキュメントは次のようなものです。
このモデルで十分だと思います。しかし、誰かが友達リクエストを受け入れると、両方のユーザーのドキュメントを更新する必要があり、操作はアトミックではありません。2 つのうちの 1 つだけが更新される場合があります。重要なデータではありませんが、これに対する解決策があればなお良いでしょう。私はこれを考えすぎていますか?2 フェーズ コミットhttp://cookbook.mongodb.org/patterns/perform-two-phase-commits/でこのドキュメントを見つけましたが、実装は非常に簡単ですが、この状況には多すぎるようです。