問題タブ [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.
arrays - マングースのサブドキュメント内の配列にプッシュ
Mongoose/MongoDB のサブドキュメント内にある配列にプッシュしたいと思います。
スキーマは次のとおりです。
UserSchema.tags
特定のusers
サブドキュメントの配列に配列をプッシュしたいと思います。
私はこれといくつかのバリエーションを試しました: https://stackoverflow.com/a/19901207/2183008
デフォルトでは、フロントエンドの Angular アプリはタグをオブジェクトの配列として送信しています。っていうことは
しかし、文字列の配列を使用してみました。これは、オブジェクトが何らかの理由で問題になっている場合でも問題ありません。
私はこれを試しました:
これは私にこのエラーを与えます:
json - (フィールド、値) が一致したときにサブドキュメントを返す MongoDB find()
これは、2 つの json ファイルを持つ単一のコレクションです。特定のフィールドを検索しています: オブジェクトの値と、一致する場合はサブ ドキュメント全体を返す必要があります (コレクションの特定のサブ ドキュメントは、次のコレクションの 2 つのサブ ドキュメントから返される必要があります)。前もって感謝します。
node.js - マングース モデルのプルの使用
これは機能するはずですか?モデル内のドキュメント ( following
) から単一のサブドキュメント ( ) を削除しようとしています。this
UserSchema
これらはスキーマです:
ユーザーコントローラー.js
ユーザーモデル.js
mongodb - クエリに基づいてサブ ドキュメント配列からサブ ドキュメント フィールドを更新するにはどうすればよいですか?
条件が is である上記のドキュメントを更新し、その特定のドキュメント フィールドを として更新する必要source.bookid
がObjectId("552cd77e31456e192df6ad8e")
ありisActive
ますfalse
。だから、私が必要とする結果の出力
この更新クエリを実行する方法を教えてください。また、サブ ドキュメント配列にすべての「isActive」が false として含まれているすべてのドキュメントを取得することは可能ですか?
spring - リスト内のサブドキュメントに対する Spring MongoDB クエリの最適化
サブドキュメントのリストを含むドキュメントがある Spring/Mongo アプリケーションからのクエリ パフォーマンスが低下しています。特定のクエリに役立つように複合インデックスを追加しようとしましたが、サブドキュメントのリスト内を検索するときはあまり役に立たないようです。これは一般的に悪い考えですか (リスト内のサブドキュメントに対してクエリを実行する)、またはこれを改善するためにできることはありますか? mmapv1 から wireTiger ストレージ エンジンにアップグレードしようとしましたが、wiredTiger は実際には同じクエリで ~30% 遅いことがわかりました。
私の理解では、インデックス行の数は、複合インデックスでインデックスを作成しようとする各リストのドキュメント行 * サブドキュメント数になります。最適ではないように思えますが、これを最適化してサブドキュメントをリストに残す方法があるかどうか疑問に思っていました。
Spring Mongo Document クラスの疑似/簡略化された例:
したがって、MongoDB ドキュメントは次のようになります。
クエリの例:
私の次善の策は、リスト内の各サブドキュメントのドキュメントのルートにフィールドを直接配置することですが、これには、コードベースのリファクタリングが必要になり、その後、ドキュメントは次のようになります。
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
json - MongoDB フィルター マルチ サブドキュメント
mongo DB にこのような構造のドキュメントがあり、アクティブなサブドキュメント (アクティブな車とアクティブな果物) のみを表示するようにフィルター処理したいと考えています。
これが私の望む結果です。
試してみましAggregate
たが、車や果物がアクティブになっていると、何も返されません。
"active":false
それらのサブドキュメントでサブドキュメントを省略する方法はありますか?