1

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

4

3 回答 3

2

我认为没有办法在 dataBrowser 中进行大量查找/替换,但我建议您在服务器端使用查询来搜索具有您需要替换的值的记录,然后循环此集合设置新值

于 2016-03-22T09:51:44.400 回答
2

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

    var newValue = "new value";

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

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

于 2016-03-23T09:42:22.780 回答
2

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

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

所以一个假的“人”数据类型可能看起来像这样:

var blankFirsts = ds.Person.query("firstname == :1", "");
blankFirsts.forEach(function(person){
    person.firstname = "no name";
    person.save();
});
于 2016-03-23T23:14:35.900 回答