将字符串数据类型列转换为 Orientdb 中的 "Embeddedlist" 数据类型

Convert String Datatype column to "Embeddedlist" datatype in Orientdb

我有一个列 "userUnits" 作为关于 user 和 userUnits 列的字符串数据类型,输入的多个单位由逗号 (,) 分隔,因为 user1 userUnits 是 "admin,manager" 和 user2 userUnits 是 "admin" 作为字符串数据类型,我必须将其转换为 "embeddedlist" 数据类型,因为 user1 userUnits 将是 ["admin", "manager"] 和 user2 userUnits 将是 ["admin"] 那么如何为所有用户转换它呢? 谁能帮我解决这个问题

我试过重现你的问题

我使用了这个查询

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);