firebase 根据数组字段中的id匹配删除文档,在laravel中

c3frrgcw  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(96)

我正在工作的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收藏截图。

axzmvihb

axzmvihb1#

如果您的文档包含子集合(如chats/10295/Messages),则在删除文档chats/10295时,子集合不会被删除。这些已删除的文档将继续显示在Firebase控制台中,以便您可以浏览到子集合。
如果你想删除chats/{id}文档和所有子集合,那么你需要更新你的代码来递归地删除Messages子集合。我不是PHP开发人员,但这些代码片段将指导你删除子集合。

相关问题