Когда префикс имени атрибута с $ в агрегатной функции db Mongo. - PullRequest
0 голосов
/ 14 декабря 2018
db.SHIPMENT.aggregate([{$match:{'WNAME':'R group'}},
{$lookup:{"from":"PART","localField":"PNO","foreignField":"PNO","as":"parts"}},
{$unwind:"$parts"},
{$project:{"PARTS":"$parts","_id":0}}])

db.SHIPMENT.aggregate([{$group:{"_id":"$WNAME",total:{"$sum":"$QUANTITY"}}}])

полный код: https://github.com/VikasNS/RIT-5th-sem-DBMS/blob/master/A42.js

  1. В статистической функции:

    {$ match: {'WNAME': 'R group'}

В этом WNAME есть префикс $

Но

{$unwind:"$parts"},

parts имеет префикс $.

2nd запрос

total:{"$sum":"$QUANTITY"}}

КОЛИЧЕСТВО ИМЕЕТ префикс $.

Итак, когда иметь префикс $, а когда нет .?

1 Ответ

0 голосов
/ 14 декабря 2018

Используйте префикс $ всякий раз, когда вы предоставляете имя поля в качестве значения в объекте (т.е. справа от двоеточия).

Исключением является случай, когдаПоле может быть только именем поля, как в полях localField и foreignField объекта $lookup.

...