問題タブ [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.
node.js - 集約ルックアップで複数の条件を使用するMongodb 3.6
MongoDb に 2 つのコレクションがあります
- metricCollectionForms
- メトリック
ドキュメントは次のmetricCollectionForms
ようになります
この質問に関連しないため、上記のドキュメントからいくつかの属性をスキップしました。
典型的metric
なドキュメントは次のようになります
ドキュメントの数式配列フィールドでformId
値 frommetricCollectionForms
が参照されていることがわかります。formId
metric
したがって、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 と互換性がある必要があります。