問題タブ [norm]
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 - mongodb でデータの重複が多すぎますか?
私はこの NOSQL 全体に不慣れで、最近 mongoDB に興味を持っています。私はゼロから新しい Web サイトを作成しており、MONGODB/NORM (C# 用) を唯一のデータベースとして使用することにしました。私はドキュメント モデル データベースを適切に設計する方法について多くのことを調べてきましたが、ほとんどの場合、設計はうまく機能していると思います。新しいサイトを始めて約 6 か月になりますが、何度も何度も対処しなければならないデータの複製/同期に関する問題が発生し始めています。私が読んだところによると、これはドキュメント モデルで想定されていることであり、パフォーマンスに関しては理にかなっています。IE 埋め込みオブジェクトをドキュメントに貼り付けて、読みやすくします - 結合はありません。もちろん、常に埋め込むことはできないため、mongodb には、基本的にリレーショナル DB の外部キーに類似した DbReference の概念があります。
ここに例を示します。ユーザーとイベントがあります。どちらも独自のドキュメントを取得し、ユーザーはイベントに参加し、イベントにはユーザーの出席者がいます。データが限られているイベントのリストを User オブジェクトに埋め込むことにしました。ユーザーのリストを「出席者」として Event オブジェクトにも埋め込みました。ここでの問題は、Event オブジェクトにも埋め込まれているユーザーのリストとユーザーを同期させておく必要があることです。私がそれを読んだとき、これは好ましいアプローチであり、物事を行うNOSQLの方法であるようです。取得は高速ですが、フォールバックはメインの User ドキュメントを更新するときです。Event オブジェクトにもアクセスする必要があり、おそらくそのユーザーへのすべての参照を見つけて更新する必要があります。
私が持っている質問は、これは人々が対処する必要がある非常に一般的な問題ですか? 「おそらく NOSQL 戦略は、私がここでやろうとしていることに適合しない」と言い始める前に、この問題がどのくらい発生する必要がありますか? 結合を行う必要がないというパフォーマンスの利点が、埋め込みオブジェクトでデータの同期を維持し、そのために DB に対して複数の読み取りを行うのに苦労しているために、いつ不利になるのでしょうか?
c# - MongodbNoRMとPOCO
私はC#でMongodbとNoRMを試しています。
私が読んだことから、Mongodbでドキュメントを一意に識別するObjectIdは、一種の「特別な」GUID(一意であるという意味で)ですが、より簡単な並べ替えとインデックス付けを可能にするいくつかの重要な部分があります(タイムスタンプ、マシンハッシュ、processIdとその中の増分)。
Idとして自動生成されたGuidを使用して、オブジェクトを実際にPOCOに保ちたいので、別のテクノロジに移行したり、従来のAdo.netやNhibernateに戻ることを妨げるObjectIdなどの外部タイプはありません。
別のオプションは、POCOでIDを文字列として使用して使用することです。ObjectId.NewObjectId().ToString()
そのためのベストプラクティスは何ですか?
c# - C# / ASP.net MVC を使用した NoSQL フォーラム アプリケーションのモデル化
現在、フォーラム (質問/回答) ベースのアプリケーションを開発しています。
データ ストレージに C# ASP.net MVC と MongoDB を使用します。
現在モデルを検討中です。
私はこのような別々のクラスを持つことを考えていました:(簡略化)
答え
私の質問は次のとおりです。
「返信」を処理する方法
(上記のモデルのように) 2 つの個別の「エンティティ」を使用するのが最善
ですか?それとも、質問モデルに回答のリストを作成する必要がありますか?
いくつかの要件は、回答の数などを表示できるようにする必要があるということです...
これは NoSQL データベースに保存されているため、非正規化する必要があることはわかっていますが、投稿全体を取得せずに回答を挿入するにはどうすればよいですか? MongoDBでNoRMを使用すると、そのような操作は可能ですか?
f# - NoRMを使用してF#からMongoDBにアクセスする
F#からNoRM https://github.com/atheken/NoRMをテストし、それを使用するための優れた方法を見つけようとしています。基本的なC#は次のとおりです。
これは問題なく動作しますが、F#からアクセスする方法は次のとおりです。
ジェネリックメソッドに渡すクラスまたは型を作成する簡単な方法はありますか?
呼び方は次のとおりです。
mongodb - normまたはcsharp-mongodbドライバーを使用する場合、mongodbに新しいフィールドを追加する方法
私はmongodbデータベースに基づく2つのプロジェクトを持っています。1つのプロジェクトはcsharp-mongodbを使用し、別のプロジェクトは-normドライバーを使用します。
GetCollectionなどのジェネリックメソッドを使用してのみデータベースにリクエストを送信します。苦痛を抑えてエンティティに新しいフィールドを追加するにはどうすればよいですか?
たとえば、最初に私は持っています
数日で私は新しいフィールドを追加することにしました
私には1つの方法しかありません-エンティティを取得し、それを逆シリアル化し、新しいタイプに変換してから、bsonにシリアル化するユーティリティを作成します。私に関しては、私が100万を超えるレコードを持っていることを理解すると、それは難しい方法です。
私はcsharpmongodbドライバーがdocumnetsを操作する能力を持っていることを知っています:)
mongodb - NoRM for MongoDB で HiLoIdGenerator を使用して一意の識別子を作成する
NoRM ( http://normproject.org/ )に付属の HiLoIdGenerator で少し苦労しています。これを使用して、ブログ投稿の SLUG として使用できる一意の識別子を生成したいと考えています。現在、MongoDB 内のドキュメントを一意に識別するために ObjectId を使用していますが、これは GUID に似ており、URL では見栄えがよくないため、www.myblog.com/posts/1243 のようなものを使用したいと考えています。これが、HiLoIdGenerator を使用することにした理由です。
クライアント側で HiLo ID を生成したいと思います。スチュアート・ハリスのブログhttp://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRMを読みました。 .aspx NoRMの新しい HiLo Id ジェネレーターも、クライアント セッションに整数の範囲を割り当てることでこれを可能にします (他のクライアントは別の範囲を使用します)。HILO アルゴリズムを使用して新しい ID 値を生成します。プロジェクトでは、このクラスのインスタンスを 1 つだけ使用する必要があります。
私は本当に3つの質問があります:
1) アプリケーションに HiLoIdGenerator の複数のインスタンスがある場合 (サービス クラスに、新しいドキュメントごとに GenerateId を呼び出すインスタンスがあるとします)、すべての ID が一意であることを実際に保証できますか? HiLoIdGenerator クラスは、アプリケーション内にこのクラスのインスタンスが 1 つだけあるべきだと言っていますか?
2) HiLoIdGenerator コンストラクターは容量引数を取り、それが何をするのか知りたいのですが、0 を渡し、生成された ID はすべて同じでした。次に、1 つの新しい HiLoIdGenerator(1) を渡しました。ID は 1 で始まり、 1 ずつインクリメントされます。それが何をするのかよくわかりませんが、ジェネレーターが生成できる潜在的な値の範囲と関係があると推測していますが、よくわかりません。誰かがこの議論を説明してもらえますか?
3) ここで説明されているように、HiLo アルゴリズムの目的を理解していると思います。Hi /Lo アルゴリズムとは何ですか? しかし、私が理解していないのは、MongoDB の 2 つのインスタンスを 2 つの異なるアプリケーションで使用して、それぞれが MongoDB の異なるインスタンスを参照しているが、どちらも同じコレクション型を含んでいるかどうか、生成された ID がグローバルに一意であるかどうか、つまり、それらを使用できるかどうかです。 GUID の方法、またはそれらは単に MongoDB の特定のインスタンス内で一意であるため、後で両方のコレクションを単一の MongoDB インスタンスにマージすることはできませんか?
ありがとう
c# - サブコレクションで完全一致を含む
NoRMドライバーでmongodbを使用すると、次のドキュメントがあります。
そして、私は次のようにクエリしています:
showNames は文字列です [] {"House", "Glee", "30 Rock"} のようなものが含まれます
検索結果にあいまい一致が含まれています。たとえば、「House」という用語は、タイトルに House という単語が含まれるすべての番組を返します (Contains を実行するように)。
私が望むのはストレートマッチです。したがって、document.Titles に「A big blue House」が含まれている場合、一致は返されません。Titles.Description に「House」が含まれている場合にのみ一致します。
c#-4.0 - NoRM MongoDB : 複雑なフィルターを作成するか、既存のクエリにフィルターを追加します
1 つの既存の基本クエリに追加のフィルターを追加して、Norm ドライバーで多基準クエリを作成する方法は? ありがとう。
mongodb - C# MongoDB ドライバートラブル(NORM)
本番環境で NORM ドライバーを使用しました。年末年始 - とても涼しいので、プロジェクトの負荷が高くなり、レプリケーション セットをセットアップしたいのですが、問題があります - Norm はレプリケーション セットをサポートしていません :( . 私がシャーディングを理解している限り?
助けてください:) replsetでmongodb csharpまたは公式の10genドライバーを使用したのは誰ですか? 制作上、問題はありませんか?別のドライバーを選択した場合、リポジトリを書き直す必要がありますが、無駄にはしたくありません。何か問題はありますか?
c# - カスタム MongoIdentifier を使用した DbReference (MongoDB & NoRM)
私は新しいMongoユーザーです(名前にも慣れていません...毎回笑ってしまいます)、この問題があります(モンゴを感じます)。
MongoIdentifier が次のように定義されたクラス「User」があります。
別のクラス「ロール」には、DbReference
次のようなものがあります。
これはうまくコンパイルされますが、Creator を次のように設定しようとすると、次のようになります。
次のエラーが表示されます。
System.FormatException: 認識可能な数字が見つかりませんでした。
理由はありますか?
ありがとう