字段路径表达式
$<filed>
: 使用$
来指示字段路径$<filed>.<sub-field>
: 使用$
和.
来指示内嵌文档字段路径
示例
添加测试数据:
db.person.insert([ {name:{firstName:'Jonathan', lastName:'Lee'}, age:18}, {name:{firstName:'Amelie', lastName:'Tang'}, age:19} ])
- $name
- $name.firstName
db.person.aggregate([ { $project: { _id: 0, myName: '$name.firstName', myName2: '$name' } } ])
系统变量表达式
$$CURRENT
: 表示当前操作的文档
示例
- $$CURRENT.name -> 等价于 $name
db.person.aggregate([ { $project: { _id: 0, myName: '$$CURRENT.name' } } ])
常量表达式
$literal: <value>
: 表示常量<value>
示例
$literal: '$name'
: 表示常量字符串$name
db.person.aggregate([ { $project: { _id: 0, myName: {$literal: 'BNTang'} } } ])