无法在云函数端,通过doc.update或者doc.set更新date的值

发布于 7 年前作者 kangyang8511 次浏览最后编辑 7 年前来自 ask
  • 当前 Bug 的表现(可附上截图)

云函数端,通过doc.update以及doc.set更新日期都失败,提示

Error: errCode: -401003 api parameter type error | errMsg: data.data.created_at is not JSON-serializable

  • 预期表现

  • 复现路径

  • 提供一个最简复现 Demo

exports.main = async (event, context) => {
  ///*
  let collectionName = event.collectionName;
  let templateData = event.data;//*/
 
  let id = templateData._id;
  delete templateData._id;
  return cloud.database().collection(collectionName).doc(id).update({
    data: templateData
  });
}
3 回复
syuan
syuan1 楼6 年前

你好,这是因为调用 wx.cloud.callFunction 时传入的 data 对象中的字段暂无法序列化 Date 对象,因此报错,后续我们会考虑提供序列化,请调用时使用 +new Date() 而不是 new Date(),即使用数字表示时间而不是 Date 对象

daixia
daixia2 楼6 年前

我也遇到这个问题,请解决了吗

yansun
yansun3 楼5 年前

看报错信息是代码的问题,templateData的值是不是不在预期内