在 MongoDB 中如何原子地增加一個 ISODate 類型的值
高洛峰
高洛峰 2017-04-24 09:09:55
0
1
682

直接使用 $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") ] }
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板