問題タブ [embedded-documents]

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 投票する
1 に答える
620 参照

mongoid - Mongoid 埋め込みリレーション拡張の親オブジェクト

次のような拡張機能との単純な埋め込み関係があるとします。

次のように言えます。

拡張機能のメソッド内で、m使用している特定のメソッドにどのようにアクセスしdますか?

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

mongodb - 埋め込みドキュメントが頻繁にクエリされる場合、埋め込みドキュメントを使用しますか?

基本的なデータ モデルは、次の 3 つのオブジェクトで構成されます。

タイプのオブジェクトであり、非常にまれにしか作成さABません (月に 1 つのオブジェクトの可能性があります)。そして、すべてのAオブジェクトには少数 (= 1-5)Bのオブジェクトのみが含まれます。埋め込みを使用すると、次のようになります。

タイプ C のオブジェクトは常に次のようになります。

C を B に埋め込むことはできません。C オブジェクトの数は無限 (= 単一の B オブジェクトに接続された数百万のエントリ) になる可能性があるためです。

A オブジェクトと B オブジェクトは、おそらく月に 1 回変更されます。C オブジェクトは決して変更されません。ただし、C オブジェクトは非常に頻繁に挿入されます (ピーク負荷は 1 秒あたり約 20 回の挿入になるはずです)。

問題/質問:

タイプ C のドキュメントを照会するたびに、参照先の B ドキュメントからの情報が必要になります (場合によっては、A ドキュメントからの追加情報も必要です)。たとえば、C オブジェクトへのアクセスが許可されているかどうかを確認する必要があります。

A と B からの情報が必要な場合、これはかなり良さそうです。右?


しかし、B ドキュメントからの情報だけが必要な場合はどうすればよいでしょうか (これはよくあるケースです)。

複数の C オブジェクトを照会すると、それらは常に (!) 同じ B オブジェクトを参照します。非埋め込みデータベース設計を使用する場合、クエリは次のようになります。

最も重要な質問は次のとおりです。これを頻繁に行うと、これら 2 つのバリアント間に大きなパフォーマンスの違いが生じるでしょうか?


おまけの質問:

すべての A オブジェクトに対して Unique 制約を設定できますか? これらすべての a.bList.id ObjectIds を一意にしたい ((!) グローバルに一意にする必要があることはわかっていますが、DB レベルに制約があると、より安全に感じられます)

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

ruby-on-rails - Rails 4 MongoID 埋め込みドキュメント

私は次のモデルを持っています

複数のオフィスの住所を保存できる埋め込みドキュメントを含めたいです。次のDB構造を探しています

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

mongodb - MongoDB - 埋め込みドキュメントのリストの $addToSet

1 つのドキュメント内に (mongodb) 埋め込みドキュメントのリストがあり、既存のドキュメントのリストに新しい埋め込みドキュメントを追加することに関心があります。

私が調査した限り、$addToSet を使用できますが、MongoDB が埋め込みドキュメントのリストに新しいドキュメントが既に存在するかどうか、またはそれが新しいドキュメントであるかどうかをどのように判断するか、つまり、MongoDB がどのように判断するかはわかりません2 つの埋め込みドキュメントは同じですか?

ps私が持っている埋め込みドキュメントは単なる値ではなく、非常に複雑な構造であるため、2つの値が等しいことを定義できる場所があるかどうか疑問に思っていました...

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

django - Django Rest Frameworkでmongoengineの埋め込みドキュメントを適切に使用するにはどうすればよいですか

MongoDB をバックエンドとして使用し、Django Rest Framework と Mongoengine をフロントエンドとして使用するコメント システムを作成しようとしています。

コメント システムはコメントをデータベースに保存し、すべてのコメントには 1 人の作成者しかいません。

次のアプローチは私にとってはうまくいきますが、これが賢明な方法であるかどうかを尋ねたかったのです。

Author ドキュメントを埋め込んだ Comment ドキュメントがあります。

これは、シリアライザーを定義した方法です。

CommentSerialiser という 2 つのシリアライザーを定義しました。

to_native および field_to_native メソッドをオーバーライドした AuthorSerialiser:

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

python - MongoEngine 埋め込みドキュメント。属性キー追加エラー

埋め込みドキュメントを変更し、日付を追加しました。データベースにも同じ変更を加える必要がありますか、それともmongoengineを介して行うことができますか?

サンプル:

これにより、次の問題が発生します。

開発モードでは、データベースを簡単に削除できるため、問題はありません。しかし、これは製品版でも機能するはずであり、データベースを削除することはできません。

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

json - MongoDB 埋め込みドキュメント PATCH vs POST?

Api リクエストを介して埋め込みドキュメントを更新したいのですが、親リソース全体を PUT したくありません。

埋め込まれたドキュメントを更新するために、RFC 6902 A.16は次のことを提案しています。

私はこれがかなり好きで、これを提供します。しかし、少し使いやすくするために、次のエイリアスを使用します。

も受け入れられる?また、JSON Api 標準に関する優れたリソースは何ですか?

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

arrays - mongodbは単一の埋め込みドキュメントを配列ではなくオブジェクトとして見つけます

MongoDB で単一の埋め込みドキュメントをクエリするときに、配列の代わりに単一のオブジェクトを取得する方法があるのだろうか

ユーザーが埋め込まれたグループがあります

このクエリを使用して、グループから単一のユーザーをクエリできます

しかし、それは私に1つのユーザー初期化を持つ「ユーザー」配列を与えます

次に、配列の最初の要素を選択する必要があります。

問題はありませんが、アプリケーションにさらにコードを記述する必要があるだけです。より良い方法は

クエリを実行できるように

誰か方法を知っていたら教えて

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

mongodb - MongoEngine のネストされたエントリに対して複数の条件を使用してクエリを実行する

特定のタイプ EmbeddedDocumentAの ListField を含むDocumentがあります。これには、2 つの StringFieldsと.bBxy

最初にそれらを入力しましょう:

と の値を持つA特定のエントリを含むのインスタンスを検索したいと考えています。Bx=x1y=y1

contains値ごとに 1 つずつ、2 つのクエリを作成しようとしました。

成功例は機能します。問題は、条件が独立していて、 list の異なるエントリに一致する可能性があることですb:

MongoEngine で、これら 2 つの条件が同じエントリに適用されるようにする方法はありますか?

前もって感謝します。