0
私は次のクエリを持ってを返しません。 しかし、マッチステージに別の条件を追加すると、クエリは結果を返しません。マッチング結果
db.company_name_match.aggregate([{"$group": {"_id": {"link": "$link", "company_name": "$company_name", "city": "$city"}, res: {$sum: 1}}}, {$match: {res: {$gt: 1}, match_count: 0}}])
ここで何か問題がありますか?そして、私はmatch_count == 0のドキュメントがあることが肯定的です。
もちろん、「match_count」というフィールドは返されていないためです。 'パイプライン'とは、ステージの**入力**のみが前のステージの**出力**です。あなたの '$ group'はこのフィールドを出さないので、条件を一致させることはできません。 –
I $ match_count?$ match_count? – elena
これは、累積フィールドの出力に 'match_count:{$ first:" $ match_count "}'を追加する必要があることを意味します。 '$ group'や少なくともそれと同じようなものですが、このフィールドが" duplicates "に同じ値を持つことを期待しているかどうかは不明ですが、基本的に値を返すためにアキュムレータ演算子の1つを使う必要があります –