如何使用 php-gds 将 Google 数据存储中所有实体的属性设置为相同的值


How to set a property of all entities in a Google Datastore to the same value using php-gds?

我正在使用php-gds通过PHP连接和处理我的Google Datastore。我所有用户都存储在那里,他们都有一个名为"points"的属性,其中包含一个整数。我想每月将所有用户的此属性设置为 0。我已经有一个 cron 任务启动了应在正确时间执行此操作的功能,但我不确定如何实现实际重置。这是我的想法:

$store = new 'GDS'Store($GLOBALS['userSchema']);
    $store->query('SELECT * FROM User');
    while ($arr_page = $store->fetchPage(50)) {
        foreach($arr_page as $user){
            $user->points = 0;
            $store->upsert($user);
        }
    }

这是正确的方法还是会失败,因为我在获取时正在更新插入?有没有更好的方法?

我的示例运行了几个星期没有任何问题。