React中如何对表格行数据生成哈希值并存入MongoDB
如何对表格行数据做哈希处理并存入MongoDB
现有业务逻辑
需要对表格选中的行数据做哈希处理,最终将处理后的数据存储到MongoDB,当前已实现的代码如下:
状态定义代码:
const [selectedRow, setSelectedRow] = useState({});
表格渲染与行选中逻辑:
<Table striped bordered hover > <tbody> {columns.map((row) => ( <tr id={unique_id} > {row.map((col) => <td style={{background:'purple'}}> <span>{col}</span> </td> )} <td> <Form.Check aria-label="option 1" onChange={(e) => { setCheck(e.target.checked); setSelectedRow(selectedRow => ({ ...selectedRow, [unique_id]: row })) }}/> </td> </tr> ))} </tbody> </Table>
实现方案
待哈希处理的行数据为对象类型,普通字符串哈希方法无法稳定生成对象对应的唯一哈希值,可按以下步骤处理:
- 安装专门适配对象哈希处理的依赖库,执行命令:
npm i object-hash
- 在业务代码中引入该库,在选中行数据、提交存储到MongoDB前,调用库方法对行对象生成哈希值即可。该库生成的哈希值不受对象属性遍历顺序等无关因素干扰,相同内容的对象会生成一致的哈希值,适合作为数据唯一标识、去重校验字段存入MongoDB。
内容的提问来源于stack exchange,提问作者oykn
相关产品推荐
相关产品推荐

