MongoDB运算符

  1. 加法运算符 $add

    // 数字类型加整数,时间类型加毫秒数
    > db.users.aggregate([{"$project": {"age": "$age", "birth": "$birth", "birth+10": {"$add": ["$birth", 10]}}}])
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4668"), "age" : 20, "birth" : ISODate("2000-04-10T00:00:00Z"), "birth+10" : ISODate("2000-04-10T00:00:00.010Z") }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4669"), "age" : 21, "birth" : ISODate("1999-04-10T00:00:00Z"), "birth+10" : ISODate("1999-04-10T00:00:00.010Z") }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466a"), "age" : 22, "birth" : ISODate("1998-04-10T00:00:00Z"), "birth+10" : ISODate("1998-04-10T00:00:00.010Z") }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466b"), "age" : 23, "birth" : ISODate("1997-04-10T00:00:00Z"), "birth+10" : ISODate("1997-04-10T00:00:00.010Z") }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466c"), "age" : 24, "birth" : ISODate("1996-04-10T00:00:00Z"), "birth+10" : ISODate("1996-04-10T00:00:00.010Z") }
    
  2. 减法运算符 $subtract

    db.users.aggregate([{"$project": {"age": "$age", "age-1": {"$subtract": ["$age", 1]}}}])
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4668"), "age" : 20, "age-1" : 19 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4669"), "age" : 21, "age-1" : 20 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466a"), "age" : 22, "age-1" : 21 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466b"), "age" : 23, "age-1" : 22 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466c"), "age" : 24, "age-1" : 23 }
    
  3. 乘法运算符 $multiply

    只支持数学类型,时间和字符串类型不支持

    db.users.aggregate([{"$project": {"age": "$age", "age*2": {"$multiply": ["$age", 2]}}}])
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4668"), "age" : 20, "age*2" : 40 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4669"), "age" : 21, "age*2" : 42 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466a"), "age" : 22, "age*2" : 44 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466b"), "age" : 23, "age*2" : 46 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466c"), "age" : 24, "age*2" : 48 }
    
  4. 除法运算符 $divide

    除法只能除一次,数组只有2个参数

    db.users.aggregate([{"$project": {"age": "$age", "age/2": {"$divide":["$age", 2]}}}])
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4668"), "age" : 20, "age/2" : 10 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4669"), "age" : 21, "age/2" : 10.5 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466a"), "age" : 22, "age/2" : 11 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466b"), "age" : 23, "age/2" : 11.5 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466c"), "age" : 24, "age/2" : 12 }
    
  5. 模运算 $mod

    模运算只能进行一次,数组只有2个参数

    db.users.aggregate([{"$project": {"age": "$age", "age-mod-2": {"$mod": ["$age", 2]}}}])
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4668"), "age" : 20, "age-mod-2" : 0 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff4669"), "age" : 21, "age-mod-2" : 1 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466a"), "age" : 22, "age-mod-2" : 0 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466b"), "age" : 23, "age-mod-2" : 1 }
    { "_id" : ObjectId("601cf85c7cfdb08d65ff466c"), "age" : 24, "age-mod-2" : 0 }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值