我想问一下你们在使用对象数组将数据保存和更新到数据库时的最佳实践。
例如我有这个 AoJ:
[
{
package_id: 1,
posts: [
{id: 1, post_id: "1d1479c6-c114-46d5-becd-e4715c14e57d", name: "Post 1", price: 3000}
{id: 2, post_id: "84f37e37-d050-4efd-bd08-811ab893959f", name: "Post 2", price: 3000}
{id: 3, post_id: "1d1479c6-c114-46d5-becd-e4715c14e57d", name: "post 3", price: 3000}
{id: 4, post_id: "84f37e37-d050-4efd-bd08-811ab893959f", name: "post 4", price: 3000}
]
}
];
对于每个数组,我将在数据库上创建一个具有新 ID 的新行。
这就是我想要的
如果我想删除 id 3,如何更新数据?检测应从包中删除某些记录的最佳实践是什么?
目前我的解决方案是:
[
{
package_id: 1,
posts: [
{id: 1, post_id: "1d1479c6-c114-46d5-becd-e4715c14e57d", name: "Post 1", price: 3000, remove: false}
{id: 2, post_id: "84f37e37-d050-4efd-bd08-811ab893959f", name: "Post 2", price: 3000, remove: false}
{id: 3, post_id: "1d1479c6-c114-46d5-becd-e4715c14e57d", name: "post 3", price: 3000, remove: true}
{id: 4, post_id: "84f37e37-d050-4efd-bd08-811ab893959f", name: "post 4", price: 3000, remove: false}
]
}
];
因此,在更新 package_id 1 帖子时,它会在看到 aremove: true
时将其删除。
你们有什么感想?有什么建议让它更简单吗?
注意:我不能使用删除所有内容并发布新的一种方法。因为每个 package_id 帖子都与其他表有关系