Firestore 错误:Update() 需要单个 JavaScript 对象或字段/值对的交替列表

BTS*_*Dev 3 firebase typescript google-cloud-firestore

我正在尝试使用部署到 firebase 的函数将如下所示的新记录添加到 Firestore 文档中。该功能是用打字稿开发的:

功能:

admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
const app = express();

app.put('/v2/MYENDPOINT/add', async (req, res) => {
    try 
    {
        const res1 = db.collection('Bars2')
                         .doc('NHn8368LhIhNWHTOaEDo')
                         .update({
                            name: req.body['name'],
                            address: req.body['address1']
                          }).then(function() {
                            res.status(200).send(`Created a new Real bar2: ${(res1)}`)
                        })
                        .catch(function(error) {
                            res.status(400).send("Error writing document: " + error);
                        });


        //res.status(200).send(`Created a new Real bar2: ${(res1)}`)
    } 
    catch (error) 
    {
        res.status(400).send(`Real bar2 not created!!! ${error}`)
    }        
})
Run Code Online (Sandbox Code Playgroud)

我尝试使用邮递员添加此项目,但代码触发了错误:

邮递员新请求 { "name": "BAR C", "address": "qwerty" }

真正的 bar2 没有创建!错误:Update() 需要单个 JavaScript 对象或字段/值对的交替列表,后面可以跟一个可选的前提条件。参数“dataOrField”的值不是有效的 Firestore 值。无法使用“未定义”作为 Firestore 值(在“地址”字段中找到)。如果您想忽略未定义的值,请启用ignoreUndefinedProperties

Firestore 结构如附图所示。

我缺少什么想法吗?谢谢

在此输入图像描述

[我希望数据如何显示在图像右侧

Dou*_*son 6

错误信息的关键是:

无法使用“未定义”作为 Firestore 值(在“地址”字段中找到)。

您的地址字段未定义,这不是 Firestore 文档的有效值。这意味着req.body['address1']未定义。

也许您想说“地址”而不是“地址1”。