字段路径表达式
-
$<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'}
}
}
])