MongoDB中$和$$的区别

ves*_*sii 7 mongodb aggregation-framework

我想知道MongoDB$$$MongoDB之间有什么区别。

例如:

    '$sum': {
        '$map': {
            'input': '$data',
            'as': 'currentData',
            'in': { '$size': '$$currentData.d' }
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我将使用$而不是$$in 呢$$currentData.d

Ash*_*shh 12

$指的是根文档字段,其中$$指的是变量名称。

{
  "$sum": {
    "$map": {
      "input": "$data",
      "as": "currentData",
      "in": { "$size": "$$currentData.d" }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

'$data'是文档数组字段,$$currentData是聚合as表达式中采用的变量$map