2017-01-03 5 views
0

Как получить длину этого массива, используя $ проектКак найти длину массива объектов в MongoDB

{ $project: { 'chatCount' : {$size:"messages.chats"} } 

где сообщения массив возвращается через $ поиска.

Это дает только длину, как '1'

сообщения содержит -> messages.chats [0], [1], [2] .. в качестве внутренних массивов

Как я могу получить длину чатов , (скажем, 3 для выше) с помощью $ размера или любого другого

ответа оценен ..

+0

Используйте «messages.chats.length» на месте messages.chats. – Anshul

+0

можете ли вы опубликовать вывод своего запроса на агрегацию без этапа $ project? – felix

+0

Добавить $ расслабиться. '{$ unwind:" $ message.chats "}' до этапа проекта – Veeram

ответ

0

в первом разматывать чаты затем проект чатов и _ID, а затем использовать группу, как это

{ 
    $group : { _id: {"id":"$_id"} , 
      Count :{$sum: 1} 
} 

с этим кодом у вас есть каждый Id и чаты.

Смежные вопросы