Open zhangxk-ocean opened 1 year ago
这个目前还不支持,如果实现的话应该会跟分页的做法一样,开发时用一个dao方法,实际分成两次来执行。 不过如果不通过 id,有可能会触发下推的限制,导致在第一步就卡住了。 不懂 nGQL 本身能不能支持一次执行完成批量修改
难搞啊这个
如果实现的话应该会跟分页的做法一样,开发时用一个dao方法,实际分成两次来执行。 这个怎么分成两次dao方法来实现呢
如果实现的话应该会跟分页的做法一样,开发时用一个dao方法,实际分成两次来执行。 这个怎么分成两次dao方法来实现呢
这个说的是能不能在ngbatis中封装一下,满足多标签的节点可以根据另一个标签的属性来更新,得再看一下具不具备可行性
嗯
不知道咋去封装,没思路啊
初步的想法是先读数据,再改值。但这种成本很高,如果数据量大的话。
我现在比较纠结的是出于什么场景需要做这种重复数据存储,
如果在不改值的情况下,在实体中建立两个属性的等价关系, 然后对结果进行处理,近而达到类似改值后的效果。
这样的做法能不能满足需要改值的场景,还可以节省一些存储空间
我们目前是有个公共标签com,存公共属性,每个点都会关联本身的标签和这个com标签,然后每个标签都会有一个默认显示字段,这个字段可以选择,然后com标签中的name字段值就会和这个默认显示字段值相同。 如果标签的默认显示字段修改了的话,com中的name字段值就需要同步修改成新修改的这个默认显示字段的值。 所以不知道怎么做合适些。
后期数据量应该会很大,所以读数据改值的话,成本会很高
这个场景不麻烦,可以试试建一个与这个公共标签相对应的实体类 然后其他实体类继承这个公共实体类 这个时候个性的实体不需要额外追加属性也能访问到公共的属性值。 公众属性值改变,读取到的属性值也随着改变。
上面说的功能最早发布在 1.1.2 https://github.com/nebula-contrib/ngbatis/pull/124/files#diff-0c60e5f34cf00bc56d6cb10f1536ee5c278e689c1728e196367761aaa785a80f 这里有对应的用例,就是不懂能不能满足上述的业务场景
我看下
不能满足,我们只有com标签建实体类了,其他标签都是动态的没办法建实体类
所以比较难搞
所有的动态标签都有 com 吗
对
这边的做法最后选择使用哪个?#149
如果是查询成 Map,本身就是支持多标签的,需要自己实现的就是保存的标签
可以把 com 的保存再加一条语句,昨晚合并的 PR 多标签的更新也是一个 <update>
两条语句
或许可以试试这种做法。
这样读取跟写入就都是多标签的逻辑。
我没理解错的话,批量更新这个场景本身是为了同节点在不同标签的数据, 但这个同步本身可以使用多标签的读写来完成,也可以减少一些冗余
现在只能指定id,进行修改:update vertex on t1 1 set age = age + 2 我想实现这种效果:match(n:com:player) set n.com.sys_name = n.player.name 一个点关联了com、player标签,把com标签上的sys_name的值全部修改为player的name上的值 怎么实现呢