我只是在NodeJS Javascript应用程序中学习objectionJS,但是我对一件事感到困惑。
我有两个问题:
如果我有一个名为“ Groups”的表,并且要以ManyToMany样式(和链接表groups_users)插入“ Users”。我们如何生成查询,以便允许用户插入,并创建与组的关系,但禁止编辑组。这将防止通过客户端无意间编辑组表。我尝试了insertWithRelated和upsertGraph。我尝试了allowInsert,但是它说“没有权限”,或者它插入并更新了groups表。还有我们如何在HasMany关系中做到这一点。
有人可以解释为什么我要使用insertWithRelated和upsertGraph(或insertGraph)。我的对象回来的例子: 用户{username: _,密码:_ ,组:[{id:22,groupName:'myGroup'}]}。我想知道是否使用insertWithRelated,是否必须手动将其插入链接表?有区别吗?
非常感谢您!
答案 0 :(得分:0)
在查询之前确认该组没有更改,或者限制可以使用allowUpsert
https://vincit.github.io/objection.js/api/query-builder/mutate-methods.html#allowupsert
https://vincit.github.io/objection.js/api/query-builder/mutate-methods.html#insertwithrelated在insertWithRelated和insertGraph之间完全没有区别。另一方面,Upsert图则更加复杂和强大。