問題タブ [subdocument]

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 に答える
5106 参照

arrays - マングースのサブドキュメント内の配列にプッシュ

Mongoose/MongoDB のサブドキュメント内にある配列にプッシュしたいと思います。

スキーマは次のとおりです。

UserSchema.tags特定のusersサブドキュメントの配列に配列をプッシュしたいと思います。

私はこれといくつかのバリエーションを試しました: https://stackoverflow.com/a/19901207/2183008


デフォルトでは、フロントエンドの Angular アプリはタグをオブジェクトの配列として送信しています。っていうことは

しかし、文字列の配列を使用してみました。これは、オブジェクトが何らかの理由で問題になっている場合でも問題ありません。


私はこれを試しました:

これは私にこのエラーを与えます:

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

json - (フィールド、値) が一致したときにサブドキュメントを返す MongoDB find()

これは、2 つの json ファイルを持つ単一のコレクションです。特定のフィールドを検索しています: オブジェクトの値と、一致する場合はサブ ドキュメント全体を返す必要があります (コレクションの特定のサブ ドキュメントは、次のコレクションの 2 つのサブ ドキュメントから返される必要があります)。前もって感謝します。

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

node.js - マングース モデルのプルの使用

これは機能するはずですか?モデル内のドキュメント ( following) から単一のサブドキュメント ( ) を削除しようとしています。thisUserSchema

これらはスキーマです:


ユーザーコントローラー.js

ユーザーモデル.js

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

mongodb - クエリに基づいてサブ ドキュメント配列からサブ ドキュメント フィールドを更新するにはどうすればよいですか?

条件が is である上記のドキュメントを更新し、その特定のドキュメント フィールドを として更新する必要source.bookidObjectId("552cd77e31456e192df6ad8e")ありisActiveますfalse。だから、私が必要とする結果の出力

この更新クエリを実行する方法を教えてください。また、サブ ドキュメント配列にすべての「isActive」が false として含まれているすべてのドキュメントを取得することは可能ですか?

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

spring - リスト内のサブドキュメントに対する Spring MongoDB クエリの最適化

サブドキュメントのリストを含むドキュメントがある Spring/Mongo アプリケーションからのクエリ パフォーマンスが低下しています。特定のクエリに役立つように複合インデックスを追加しようとしましたが、サブドキュメントのリスト内を検索するときはあまり役に立たないようです。これは一般的に悪い考えですか (リスト内のサブドキュメントに対してクエリを実行する)、またはこれを改善するためにできることはありますか? mmapv1 から wireTiger ストレージ エンジンにアップグレードしようとしましたが、wiredTiger は実際には同じクエリで ~30% 遅いことがわかりました。

私の理解では、インデックス行の数は、複合インデックスでインデックスを作成しようとする各リストのドキュメント行 * サブドキュメント数になります。最適ではないように思えますが、これを最適化してサブドキュメントをリストに残す方法があるかどうか疑問に思っていました。

Spring Mongo Document クラスの疑似/簡略化された例:

したがって、MongoDB ドキュメントは次のようになります。

クエリの例:

私の次善の策は、リスト内の各サブドキュメントのドキュメントのルートにフィールドを直接配置することですが、これには、コードベースのリファクタリングが必要になり、その後、ドキュメントは次のようになります。

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

node.js - Mongoose はネストされたサブドキュメントを保存しません

スキーマのサブドキュメントであるスキーマにいくつかのサブドキュメントを保存する必要があります。保存機能は次のとおりです。

問題は、最上位の親スキーマ (cliente) が mongoldb に保存されているのに対し、2 種類のサブ ドキュメントは保存されていないことです。cliente.sedi では、配列は sede objectid で満たされていますが、mongoldb では sede テーブルが存在しません (luoghi_consegna_sedi についても同様です)。sede と luoghi_consegna_sedi を配列にプッシュする前に手動で保存すると、2 つのテーブルが作成されてデータが入力されますが、cliente.sedi で populate() を実行すると、空の配列が得られます。3 つのスキーマは次のとおりです。

セデ

Luoghi_consegna_sedi

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

json - MongoDB フィルター マルチ サブドキュメント

mongo DB にこのような構造のドキュメントがあり、アクティブなサブドキュメント (アクティブな車とアクティブな果物) のみを表示するようにフィルター処理したいと考えています。

これが私の望む結果です。

試してみましAggregateたが、車や果物がアクティブになっていると、何も返されません。

"active":falseそれらのサブドキュメントでサブドキュメントを省略する方法はありますか?