棱镜拼接项从数组中



我一直在向数组推送更新,并且想知道是否有一个内置的方法来从数组中删除一个条目。基本上是反转push命令。我怀疑我必须查询所有文档并自己删除项目。但也许有一些功能我无法在文档中找到。

:

const addTag = await prisma.post.update({
where: {
id: 9,
},
data: {
tags: {
push: 'computing',
},
},
})

删除期望:

const removeTag = await prisma.post.update({
where: {
id: 9,
},
data: {
tags: {
splice: 'computing',
},
},
})

在撰写本文时,还没有使用Prisma从标量列表中拼接/删除项的方法。您必须从数据库中获取标量列表,在应用程序代码中手动修改它,并使用update操作覆盖数据库中的记录。

这是一个功能请求,请随时关注/评论您的用例,以帮助我们跟踪对该功能的需求。

const { dogs } = await prisma.user.findOne({
where: {
id: userId
},
select: {
dogs: true
},
});
await prisma.user.update({
where: {
id: userId
},
data: {
dogs: {
set: dogs.filter((id) => id !== 'corgi'),
},
},
});

最新更新