問題タブ [aws-documentdb]

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

node.js - 集約ルックアップで複数の条件を使用するMongodb 3.6

MongoDb に 2 つのコレクションがあります

  1. metricCollectionForms
  2. メトリック

ドキュメントは次のmetricCollectionFormsようになります

この質問に関連しないため、上記のドキュメントからいくつかの属性をスキップしました。

典型的metricなドキュメントは次のようになります

ドキュメントの数式配列フィールドでformId値 frommetricCollectionFormsが参照されていることがわかります。formIdmetric

したがって、1 つのメトリックは、オブジェクトの数式配列内で多くの形式を使用できます。

フォームのリストを取得しようとしていますが、そのリスト内でメトリックの配列を返します。

metric.formula.formId = formId (フォームの) AND metric.isActive = true AND metric.isApproved = true

これまでのところ、集計クエリは次のようになります。

今ではすべてのメトリック名の配列が返されますが、$lookup で isApproved および isActive の true 条件を適用する方法がわかりません。

$pipeline / $match などを試してみましたが、何もうまくいかないようです。また、AWS DocumentDb (3.6 のみをサポート) 内でこれを使用しているため、ソリューションは Mongo 3.6 と互換性がある必要があります。