Wakanda 数据存储 - 查找和替换?

Wakanda Datastore - Find and Replace?

我在遗留的 Wakanda 数据存储中有很多值,我需要将其更新为一些新值。 wakanda 数据浏览器页面中是否有类似 curl 的命令可用于在 table 中进行大量查找和替换?

我不认为有办法在数据浏览器中做大量的 find/replace, 但我建议你在服务器端使用一个查询来搜索你需要替换的值的记录,然后在这个集合上循环设置新值

如果您的数据类称为 MyDataClass 并且您要更新的属性是 myAttribute 您可以使用以下服务器端脚本:

    var newValue = "new value";

    ds.MyDataClass.all().forEach(function(entity){
            entity.myAttribute = newValue;
            entity.save();
    });

如果要提交或回滚整个操作,也可以使用 transaction

如其他答案中所述,您最好循环访问一个集合。像您在许多其他数据库中看到的那样,Wakanda 中没有大规模替换的概念。

var myCollection = ds.DataClassName.query("attributeName == :1", "valueToFind");
myCollection.forEach(function(e){
    e.attributeName = "newValue";
    e.save();
});

所以伪造的 "person" 数据类型可能如下所示:

var blankFirsts = ds.Person.query("firstname == :1", "");
blankFirsts.forEach(function(person){
    person.firstname = "no name";
    person.save();
});