1***@qq.com
1***@qq.com
  • 发布:2024-11-13 20:31
  • 更新:2024-11-14 09:59
  • 阅读:52

关于Jql 脚本操作数据库字段更新问题

分类:uniCloud

我有A表 class_id 关联 B表组件_id

B表的中有 sort 字段

需求: 我需要把 B表中 的sort 字段值 对应赋值给 A表的sort

请教一下 jql应该怎么写????

扣了半天脑袋了 !!!! 感谢!!!!!

2024-11-13 20:31 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

请参考:

// 方法1: 使用子查询  
db.collection('A表').update({  
  sort: db.collection('B表')  
    .where({  
      _id: $.field('class_id')  // 关联条件  
    })  
    .field('sort')  
    .getOne()  
    .sort  
})

会执行多次查询
适合小数据量

// 方法2: 使用lookup联表  
db.collection('A表')  
  .lookup({  
    from: 'B表',  
    localField: 'class_id',  
    foreignField: '_id',   
    as: 'b_info'  
  })  
  .update({  
    sort: $.get('b_info.0.sort')  // 获取关联表的sort值  
  })

执行一次批量查询
适合大数据量
推荐使用这种方式

  • 1***@qq.com (作者)

    大佬 我在jql文件运行脚本报错 $ is undefined

    2024-11-15 20:49

  • BoredApe

    回复 1***@qq.com: const $ = db.command

    2024-11-16 08:02

要回复问题请先登录注册