我正在工作的API在laravel删除聊天文件在firebase以下是我的代码
$collectionRef = $db->collection('chats');
$query = $collectionRef->where('participantId', 'array-contains', $userId);
$querySnapshot = $query->documents();
foreach ($querySnapshot as $document) {
Log::info("QuerySnapshot data: " . print_r($document->data(), true));
$document->reference()->delete();
Log::info("Chat document deleted: " . $document->id());
}
$docRef = $db->collection('users')->document($userId);
$docRef->delete();
字符串
我需要删除聊天文档,其中participantId与我请求的ID匹配,但它不工作,我错了?
这是我的firestore收藏截图。
1条答案
按热度按时间axzmvihb1#
如果您的文档包含子集合(如
chats/10295/Messages
),则在删除文档chats/10295
时,子集合不会被删除。这些已删除的文档将继续显示在Firebase控制台中,以便您可以浏览到子集合。如果你想删除
chats/{id}
文档和所有子集合,那么你需要更新你的代码来递归地删除Messages
子集合。我不是PHP开发人员,但这些代码片段将指导你删除子集合。