db.parent_reference.aggregate([
{$match: {name: "Shannon"}},
{ $graphLookup: {
from: "parent_reference",
startWith: "$reports_to",
connectFromField: "reports_to",
connectToField: "_id",
as: "bosses" }
}])
All of those arguments are referencing field names, so why only startWith value is prefixed with a $?