在 MongoDB 中如何原子地增加一个 ISODate 类型的值
高洛峰
高洛峰 2017-04-24 09:09:55
[MongoDB讨论组]

直接使用 $inc 似乎不可以:

{$inc: {"time": 1}}

错误:

Cannot apply $inc modifier to non-number
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
怪我咯

不知道有没有误解王子的需求,你是希望能新增一个 ISODate 类型值的字段吗?
如果是的话,$inc 并不是用来做这个的。$inc 只能用来对数字类型的值进行增减操作,举例如下:
原有数据:

{ "_id" : ObjectId("537eaa530989f15b7f41cedf"), "i" : 1 }

操作如下:

db.test.update({ i : 1 },{ $inc : { i : 2 }})

结果为:

{ "_id" : ObjectId("537eaa530989f15b7f41cedf"), "i" : 3 }

如果是希望新增一个字段,可以使用 $push,同样以上例说明:

db.test.update({ i : 3 },{ $push : {'time' : new ISODate("2014-05-23")}})

结果为:

{ "_id" : ObjectId("537eaa530989f15b7f41cedf"), "i" : 3, "time" : [  ISODate("2014-05-23T00:00:00Z") ] }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号