直接使用 $inc 似乎不行:
{$inc: {"time": 1}}
錯誤:
Cannot apply $inc modifier to non-number
怪我咯2017-04-24 09:11:55
不知道有沒有誤解王子的需求,你是希望能新增一個 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") ] }