我正在使用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);
}
}
这是正确的方法还是会失败,因为我在获取时正在更新插入?有没有更好的方法?
我的示例运行了几个星期没有任何问题。