Сега мога да мисля в два подхода:
1) Използване на рамка за агрегиране:
db.log.aggregate([ { $unwind : "$entries" }, { $group : { _id : "$_id", entries : {$sum:1} } } ]);
2) Или можете да добавите поле към документа, което съдържа броя на записите. Така че всеки път, когато натискате нова стойност към масива с записи, трябва да увеличавате брояча. Актуализацията ще изглежда така:
db.log.update({ _id : 123 }, { $push : { entries : 'value' }, $inc : { entriesCount : 1 } })
Ясно е, че тук имате компромис:рамката за агрегиране е твърде скъпа за тази проста операция. Но добавяйки поле към документа, всяка актуализация трябва да увеличава брояча.
IMHO, броячът изглежда по-разумен, въпреки че изглежда заобиколно решение.