検索

ホームページ  >  に質問  >  本文

在 MongoDB 中如何原子地增加一个 ISODate 类型的值

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

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

错误:

Cannot apply $inc modifier to non-number
高洛峰高洛峰2763日前668

全員に返信(1)返信します

  • 怪我咯

    怪我咯2017-04-24 09:11:55

    王子のニーズを誤解しているかどうかはわかりませんが、ISODate タイプの値を持つ新しいフィールドを追加しますか?
    その場合、$inc はこれを行うように設計されていません。 $inc は、数値を増減する場合にのみ使用できます。例:
    元データ: ISODate 类型值的字段吗?
    如果是的话,$inc 并不是用来做这个的。$inc 只能用来对数字类型的值进行增减操作,举例如下:
    原有数据:

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

    操作如下:

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

    结果为:

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

    如果是希望新增一个字段,可以使用 $push リーリー

    操作は次のとおりです:

    リーリー

    結果は次のとおりです: 🎜 リーリー 🎜新しいフィールドを追加したい場合は、上記の例で説明したように、$push を使用できます。 リーリー 🎜結果は次のとおりです: 🎜 リーリー

    返事
    0
  • キャンセル返事