Что означает знак доллара в mongodb с точки зрения групп?

В соответствии с документами для операторов зарезервирован "$". Однако, если вы посмотрите на оператора группы, значения должны иметь префикс доллара. Эти значения не являются операторами. Что это значит в этом контексте? Пример ниже:

db.article.aggregate(
    { $group : {
        _id : "$author",
        docsPerAuthor : { $sum : 1 },
        viewsPerAuthor : { $sum : "$pageViews" }
    }}
);

Почему pageViews нужен главный знак доллара? Я пробовал его локально, и он не работает без знака доллара.

Ответ 1

Вы используете формат $field-name, если хотите ссылаться на поле из оригинала или промежуточного документа. Здесь вы суммируете все просмотры страниц, группируя их по автору.

Ответ 2

В этом случае "$ string" означает, что вы хотите использовать значение ключа с именем "string" в обработанном документе. Контраст с "строкой", которая будет буквальной строкой.