問題タブ [mongorepository]
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.
c# - StateServer の MongoRepository エンティティ
User
とマークされたクラスを持つ MVC プロジェクトがあり[Serializable]
ます。
このクラスは、ドキュメントで説明されているように、 MongoRepository の" " クラスUser
を継承しています。Entity
ただし、StateServer を介してクラスのインスタンスをセッションに保存しようとするUser
と、オブジェクトがシリアル化できないというエラーが発生します。
私は MongoDB と MongoRepository を初めて使用するので、ユーザー クラスのインスタンスをシリアル化するためにここでできることがあるかどうかわかりません。
サンプルコード:
mongodb - MongoDB C# ドライバーで DBRef を取得する名前空間参照
私は MongoDB C# ドライバーを使用しています。
そこで、次のようなエンティティを作成しました。
しかし、DBRef には次のエラーが表示されます。
タイプまたは名前空間 'DBRef' が見つかりませんでした。
ドライバーのバージョン 1.8.1.20 と MongoRepository のバージョン 1.5.1.0 を使用しています。
DBRef を取得するには、どの名前空間を参照する必要がありますか?
arrays - MongoRepository で $all を使用する方法
必要な正しい結果を返す次のクエリをコーディングしました。MongoRepository を拡張する BookRepository クラスもあります。私の質問は、このクエリを BookRepository クラスで使用する方法を教えてください。bookRepository.findByPublishedIsTrueAndTagsLike(selectedTags) を試しましたが、それは $all の機能ではありません。
注: selectedTags は文字列の配列リストです。
c# - MongoDB C# の他のコレクションへの参照
私はMongoRepositoryを使用しており、2 つの異なるコレクション間の参照を作成したいと考えています。
たとえば、フォームにフォームへのリンクを含めることができます。次のように表されます。
Report が次のようにネストされた Form ドキュメントを取得したい:
結果は次のようになります。
これはこのフレームワーク内で可能ですか? C# ドライバー ベースだけを使用することは可能ですか?
c# - MongoDB - 再帰関係 (カテゴリ) をモデル化する方法
エントリのカテゴリを持つアプリケーションに取り組んでいます。各エントリには、正確に 1 つのカテゴリがあります。私の懸念は、最もクリーンなコードとデザインでそれを達成するために、カテゴリをモデル化する方法です。
これは、私が Category エンティティを実装することを考えていた方法です -アプローチ 1 :
ネストされたカテゴリを実現し、この方法でインスタンス化するには:
これは、ドキュメントが MongoDB でどのように表示されるかも同じです。「Sub 1」でわかるように、Id はコメント アウトされています。これは、ネストされたカテゴリのこのエンティティ定義では MongoDB がキーを生成しないため、次のようなアプリケーションで明示的に行う必要があるためです。
オブジェクト初期化子に「subDocument1」への参照がないため、後で行う必要があります。オブジェクトを送信する前に、再帰的に問題を解決します。これは少し厄介なようです。
別の方法として、次のエンティティ定義を行うこともできます (アプローチ 2 )。
カテゴリがフラット化されたので、これは実際にはリレーショナル アプローチであり、ここで気に入らないのは、Mongo が ObjectId のみではなく、オブジェクト全体を挿入することです。
したがって、私の懸念は次のとおりです。アプローチ1の場合、カテゴリを効率的に検索するにはどうすればよいですか(カテゴリは約4レベルでネストされます)。機能について、「このカテゴリのすべてを表示する」としましょう... アプリケーション レベルで ObejctId を割り当てることは非常に悪い習慣ですか? これにはシャーディングが必要になるとは思えません...
または、アプローチ 2 では、「メイン」カテゴリが変更された場合はどうなりますか? - いくつかの場所で変更する必要があります。また、非常に面倒で繰り返しになる可能性のある深いヒエラルキーもあります。
どのソリューションが優れているか、改善案は何かについてフィードバックをいただければ幸いです。どこで問題が発生する可能性がありますか? 見栄えを良くするため - これらのカテゴリはあまり変更されません (操作用の UI を実装していない可能性さえあります)。
c# - 流暢な NHibernate から Mongodb に移行する際のオブジェクト モデリングのベスト プラクティス
現在、Fluent NHibernate から MongoDB への移行が混在しています。オブジェクトをモデリングするための最良の方法は何かということに興味がありました。ほとんどの場合、私はそれらを放っておきたいと思っていましたが、それは不可能かもしれません. たとえば、次の 2 つのクラスがあります。
これで、MongoDB に関しては、ID に Guid/string を使用する必要があることがわかりました。それは問題ありません。データを移行するときに、AutoMapper がそれを変更してくれます。私の懸念はデータモデルです。明らかに、Config をドキュメントとして MongoDB に保存するときに、完全な Filter オブジェクトを一緒に保存したくありません。1 対多の関係があるからです。そのフィルターを一緒に保存すると、冗長データが保存されます。オブジェクト全体ではなく、フィルター ID のみを保存するように MongoDB マッピングを介して言う方法はありますか? Fluent NHibernate を使用すると、上記のオブジェクトを使用して適切にマップすることができます。私は何かが欠けていることを願っています。
編集:明らかな解決策は、次のように Config クラスを調整することであることに言及する必要があります。
しかし、それは私には汚くてエレガントではありません。もっと良いものはありますか?