【问题标题】:Firebase PHP update specific Array index in FieldFirebase PHP 更新字段中的特定数组索引
【发布时间】:2021-03-15 08:16:10
【问题描述】:

我不知道如何或是否可以使用自定义索引更新 Array 值。 我的代码是用 PHP 编写的,但如果需要,我可以切换到 JS

这是我的挑战: 我有一个包含更多数组的条目(有很多行和不同种类)。 我想更改 itmes 数组的自定义行

例如我想更改数组索引“Items[0]”的状态和用户标识

我试过了

$document = $db->collection('events')->document($eventid);    
$document->update([
        [
            'path' => 'items.0', 'value' => FieldValue::arrayUnion([[
            'status' => '1',
            'userid' => '383747493834',
            ]])
        ]
    ]);

$document->set([
        'regions' => FieldValue::arrayUnion([[
            'kind' => 'test',
            'status' => '1',
            'userid' => '383747493834',
        ]])
    ], ['merge' => true]);

但在第一个示例中 Firebase 在文档中添加一个新字段并在第二个示例中添加了一个新行

【问题讨论】:

    标签: php firebase google-cloud-firestore


    【解决方案1】:

    Firestore 无法仅通过写入操作来更新数组中特定索引处的值。

    如果您的用例需要这种更新,您需要:

    1. 从 Firestore 读取文档
    2. 从文档中获取整个数组
    3. 更新该数组中的数据
    4. 将整个数组写回 Firestore

    【讨论】:

    • 谢谢,那是我的恐惧。我切换到参考:)
    猜你喜欢
    • 2017-11-30
    • 2019-03-29
    • 1970-01-01
    • 2021-12-28
    • 2020-08-21
    • 2013-04-02
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    相关资源
    最近更新 更多