Ваш SQL-запрос кажется мне неполным, поскольку поле Total
, похоже, отсутствует в списке столбцов, возвращаемых внутренним SELECT
.Кроме того, GROUP
не выполняется, поэтому я не уверен, что именно вы хотите сделать здесь.
Используя MongoDB v3.6 и выше, однако вы можете сделать что-то подобное, используя $ expr , который позволяет сравнивать несколько полей в одном документе:
db.test.aggregate([{
$group: {
_id: "$x",
docs: { $push: "$$ROOT" }
count: { $sum: 1 }
}
}, {
$unwind: "$docs" // flatten the result array
}, {
$match: {
$expr: { $eq: ["$total", "$count"] } // apply the filter that you're after
}
}])