【发现问题】
1.小程序云开发时,通过调用云函数进行更新数据记录,记录中包含时间戳(data类型)字段;
2.更新报错,经排查发现是记录中的时间戳字段(date类型)无法正常更新。若在调用云函数之前,使用delete移除时间戳字段,则更新正常。
【问题备注】
1.发现数据在小程序端调用云函数之前(数据是从页面获取的),类型已经变化为string;直接更新数据则会把date类型变为string类型。
2.在调用云函数更新前,修改时间戳内容为db.serverTime(),在云函数中还是返回错误,非法参数类型;修改时间戳内容为new Date(),执行不报错,但是字段类型由date变为string。
3.form表单包含的时间戳字段,可以在小程序端进行更新赋值后,调用update操作数据库正常。这是编辑页面中的更新,原来这两种更新方法不太一样,具体未深究。
【问题解决】
在云函数中修改,执行update操作之前,对时间戳字段进行重新赋值,都可以顺利更新了。