l***@qq.com
l***@qq.com
  • 发布:2023-05-30 22:19
  • 更新:2023-06-01 02:14
  • 阅读:326

JQL批量将某个字段值等于另一个字段值

分类:uniCloud

MySQL的写法:
update collection_name set update_time=create_time

MongoDB的写法:

db.collection_name.find().forEach(  
      function(item){  
          db.collection_name.update({_id:item._id},{$set:{update_time:item.create_time}})  
      }  
)

那么在uniCloud,要怎么实现?

2023-05-30 22:19 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

这和你写个for循环没什么差别

l***@qq.com

l***@qq.com (作者) - hello uni-xxx

经查贴得知,云数据库不支持批量更新,只能循环更新 ,如下:

let res = await db.collection('xxx').get() //先从数据库读取数据  
res.data.forEach( (item) => { //做循环更新  
    db.collection('xxx').doc(item._id).update({update_time: item.create_time})  
})

另外,发现在JQL管理器内不能运行循环更新,只能在前端或云函数运行。此时可以新建云函数,写上循环更新 代码,然后右键 调试/运行-本地云函数 即可

要回复问题请先登录注册