我有一个专栏" userUnits"作为用户和userUnits列的字符串数据类型,以逗号(,)分隔的多个单位输入,因为user1 userUnits是" admin,manager" 和user2 userUnits是&# 34;管理"作为字符串数据类型,我必须将其转换为" embeddedlist" user1 userUnits的数据类型为 [" admin"," manager"] ,user2 userUnits将为[" admin"] 那么如何为所有用户转换它? 请有人帮我这个吗
答案 0 :(得分:0)
我试图重现你的问题
我使用了这个查询
update user set newProperty=userUnits.asList()
我得到了
要从记录中删除属性userUnits,可以使用
update user remove userUnits
希望它有所帮助。
<强>更新强>
您可以使用此javascript函数
var g=orient.getGraphNoTx();
g.command("sql","CREATE PROPERTY User.newProperty embeddedlist" );
var users = g.command("sql","select from User");
for(i=0;i<users.length;i++){
var record=users[i];
var id=record.getId();
var userUnits=record.getProperty("userUnits");
var array=userUnits.split(",");
var myvalue='"';
for(j=0;j<array.length;j++){
if(j==0)
myvalue+=array[j]+'"';
else
myvalue+=',"'+array[j]+'"';
}
g.command("sql","UPDATE " + id + " set newProperty = [ " + myvalue + "]");
}
g.command("sql","UPDATE user REMOVE " + userUnits);