私はM1とM2の2つのモデルを持っています。モンゴースが住んでいます
M1には、M2オブジェクトの配列があります。
私は、M1の束を取得するクエリを作成しようとしていますが、M2の特定のフィールドが設定した基準と一致する場合のみです。
モデルを正しくセットアップしました(M1にはM2用のSchema.Types.ObjectIdの配列があります)。
理想的には、私はこのような何かをしたいと思います:
var result = await M1.find({
'm2.title': 'title-match',
// ...
// Plus other criteria
})
.populate('m2')
.exec();
それでは、私は戻ってしたいと思うことは「タイトル」「タイトルマッチ」に設定しているM2モデルを持っているすべてのM1モデルであります。
しかし、これは動作していないようだし、私は理由がわからない。
私はpopulate関数で 'match'を使用しようとしましたが、これは他の検索条件設定ではうまくいきません(たとえば、populate関数での一致を含めることができますが、正しいM2モデルを持っていますが、他の基準を満たしていない場合は除外されます)。
私はすべての人口フィルタリングを他のフィルタと混在させて、結果に含めるべきかどうかを正しく評価する必要があります。