Как найти $ count в мангусте для той же группы?

как получить количество и цену для одной и той же группы в мангусте


db.inventory.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )

person Priya Balasubramanian    schedule 19.12.2019    source источник
comment
Добро пожаловать в СО. Нужно больше разъяснений о том, чего вы пытаетесь достичь? Что за группа??   -  person Subburaj    schedule 19.12.2019
comment
Какой формат???   -  person Subburaj    schedule 19.12.2019
comment
я пытаюсь получить количество для двух условий совпадения для одной и той же группы   -  person Priya Balasubramanian    schedule 19.12.2019
comment
Пожалуйста, поделитесь входными данными и выводом в онлайн-редакторе json.   -  person Mahesh Bhatnagar    schedule 19.12.2019
comment
Покажите свою модель и полный запрос, который вы пробовали до сих пор. Не добавляйте свой код в раздел комментариев. Вы можете отредактировать свой вопрос в любое время, поэтому отредактируйте вопрос со своей моделью и запросом.   -  person Mr.Gandhi    schedule 19.12.2019


Ответы (1)


Вы можете попробовать использовать $facet для подсчета нескольких групп в одном запросе. проверьте, что приведенный ниже запрос полезен для вашего требования.

db.inventory.aggregate([
{ "$facet": {
"quantity": [
{ "$match" : { "quantity": { "$lt": 20 }}},
{ "$count": "Total" },
],
"price": [
{ "$match" : {"price": { "$eq": 10 }}},
{ "$count": "Released" }
]
}},
{ "$project": {
"quantity": { "$arrayElemAt": ["$quantity.Total", 0] },
"price": { "$arrayElemAt": ["$price.Released", 0] }
}}
])
person Uthaya Seelan    schedule 26.12.2019