【发布时间】:2019-10-14 13:57:24
【问题描述】:
我正在尝试使用 Firebase PHP API 来更新/附加带有地图的文档字段数组
我在 Python 中有以下代码可以正常工作
ref = db.collection(u'jobs').document(jobId)
ref.update({
u'messages': firestore.ArrayUnion([{
u'category': u'0',
u'message': u'TEST',
u'sender': u'TEAM',
}])
})
虽然当我尝试在 PHP 中复制它时,它不起作用。我尝试了很多不同的方法来查看错误,但我得到的只是 500 INTERNAL SERVER ERROR。
require 'vendor/autoload.php';
use Google\Cloud\Firestore\FirestoreClient;
use Google\Cloud\Firestore\FieldValue;
$firestore = new FirestoreClient([
'projectId' => 'XXX-XX',
'credentials' => 'key.json'
]);
$jobId = "XXXX";
$docRef = $firestore->collection('jobs')->document($jobId);
$docRef->update([
'messages' => FieldValue::arrayUnion([{
'category' : '0',
'message' : 'TEST',
'sender' : 'TEAM',
}])
]);
我查看了samples of Array Union in PHP、adding data with PHP。我尝试了很多: 或=> 或arrayUnion([]) 或arrayUnion({[]}) 的变体,但无济于事。
知道是什么原因造成的吗?
【问题讨论】:
标签: php firebase google-cloud-firestore google-api-php-client