Maison > Questions et réponses > le corps du texte
直接使用 $inc 似乎不可以:
{$inc: {"time": 1}}
错误:
Cannot apply $inc modifier to non-number
怪我咯2017-04-24 09:11:55
Je ne sais pas si vous avez mal compris les besoins du prince. Espérez-vous ajouter un nouveau champ avec une valeur de type ISODate
?
Si c'est le cas, $inc
n'est pas fait pour ça. $inc
ne peut être utilisé que pour augmenter ou diminuer des valeurs numériques, par exemple :
Données originales :
{ "_id" : ObjectId("537eaa530989f15b7f41cedf"), "i" : 1 }
Le fonctionnement est le suivant :
db.test.update({ i : 1 },{ $inc : { i : 2 }})
Le résultat est :
{ "_id" : ObjectId("537eaa530989f15b7f41cedf"), "i" : 3 }
Si vous souhaitez ajouter un nouveau champ, vous pouvez utiliser $push
, comme expliqué dans l'exemple ci-dessus :
db.test.update({ i : 3 },{ $push : {'time' : new ISODate("2014-05-23")}})
Le résultat est :
{ "_id" : ObjectId("537eaa530989f15b7f41cedf"), "i" : 3, "time" : [ ISODate("2014-05-23T00:00:00Z") ] }