天天看點

MongoDB-聚合操作表達式

字段路徑表達式

  • ​$<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'}
        }
    }
])