1、 数学表达式
db.employees.aggregate(
{
"$project":{
"totalpay":{
"$add":["$salary", "$bonus"]
}
}
})
上面的表达式将salary和bonus加起来,列名命名为totalpay。表达式可以嵌套。
db.employees.aggregate(
{
"$project":{
"totalpay":{
"$subtract":[{
"$add":["$salary", "$bonus"]},
"$tax"]}
}
})
数学表达式:
- 加法表达式:"$add":[expr1[, expr2, ...,exprN]]
- 减法表达式: "$subtract":[expr1, expr2]
- 乘法表达式: "$multiply":[expr1[, expr2, ...,exprN]]
- 除法表达式: "$divide":[expr1, expr2]
- 取余表达式: "$mod":[expr1, expr2]
2、日期表达式
db.emplyees.aggregate(
{
"$project" : {
"hiredIn" : { "$month" : "$hireDate"}
}
})
将hireDate日期转换为月份。
日期表达式:
- "$year"
- "$month"
- "$week"
- "$dayOfmonth"
- "$dayOfWeek"
- "$dayOfYear"
- "$hour"
- "$minute"
- "$second"
3、字符串表达式
- "$substr":[expr,startOffset,numToReturn]
expr必须是字符串。截取从startOffset字节开始numToReturn个字节的字符串。是字节不是字符,不同编码的一个字符时不同字节。 - "$concat":[expr1[, expr2, ...,exprN]]
- "$toLower":expr
- "$toUpper":expr
4、逻辑表达式
- "$cmp":[expr1, expr2]
网友评论