Агрегаты Mongodb: как обнаружить и отфильтровать тип объекта? - PullRequest
0 голосов
/ 10 апреля 2019

Я думаю, что это не сложный вопрос, но я не уверен, как это сделать. Моя коллекция

[
 { 
    stuff:[
        { 
            type:"vegetables", weight:"1"
        },
        { 
            type:"meat", weight:"1"
        }
    ]
 },
 { 
    stuff:[
        { 
            type:"vegetables", weight:"1"
        },
        { 
            type:"vegetables", weight:"1"
        }
    ]
 },
 { 
    stuff:[
        { 
            type:"meat", weight:"1"
        },
        { 
            type:"meat", weight:"1"
        }
    ]
 },
]

Я хочу вычислить и подсчитать состояние для каждого документа.Если боты вводятся в фарш, состояние - «мясо», если оба типа - «овощи», состояние - «овощи», если существует один тип «мясо» и один тип «овощи», то состояние - «мясо».(мясо> овощи)

Я бы хотел получить такой результат:

{
  meat: 2,
  vegatables: 1
}

Трудность здесь заключается в том, чтобы сделать это всего за один запрос

Так что я думаюМне нужно $project реквизит, который я хочу (типы предметов), но я не знаю, как вычислить, а затем посчитать / суммировать / сопоставить это?

Заранее спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...