无法在查询中分配 request.payload 值

Can't assign request.payload values in query

我正在使用 Node/Hapi/Mongodb 开发一个简单的应用程序,但 运行 遇到了一个奇怪的问题。下面是处理 adding/updating 分数的路由;当我通过 Insomnia/Postman 向此端点发送一些数据时,它按预期工作。但是,当这个 POST 来自不同的应用程序时,我得到了奇怪的结果;每个字段的值始终为 null(同样,这仅在 POST 来自另一个站点时发生,但我已经注销了请求有效负载并且可以看到数据是正确的,只是设置为 null 时分配给对象,或尝试使用它进行查询)

server.route({
    method: 'POST',
    path: '/update-score',
    handler: (request, h) => {
        var scores = db.collection('scores');

        var updateScore = new Promise((resp, rej) => {
            console.log('payload ', request.payload);
            scores.findOneAndUpdate({customerID: request.payload.customerID}, {$set: {customerID: request.payload.customerID, customerName: request.payload.customerName, highScore: request.payload.highScore}}, {upsert: true}, (err, res) => {
                if (err) {
                    return rej(err);
                }
                else {
                    return resp(res);
                }
            })
        });

        return updateScore;
    }
});

控制台正确注销了请求负载,但在查询尝试使用它时 null/undefined。我还尝试在 mongo 方法调用之外创建两个对象(如下所示),并且在控制台记录这些预定义对象后,那里的值也为空;尽管我可以 console.log 在定义这些对象后 request.payload 并且数据很好。

server.route({
    method: 'POST',
    path: '/update-score',
    handler: (request, h) => {
        var scores = db.collection('scores');

        var queryObj = { 
           customerID: request.payload.customerID
        };

        var updateObj = {
           $set: {
              customerName: request.payload.customerName,
              highScore: request.payload.highScore
           }
        }
        var updateScore = new Promise((resp, rej) => {
            console.log('again ', request.payload);
            scores.findOneAndUpdate(queryObj, updateObj, {upsert: true}, (err, res) => {
                if (err) {
                    return rej(err);
                }
                else {
                    return resp(res);
                }
            })
        });

        return updateScore;
    }
});

记录 queryObjvalueObj 会显示所有值都是 null,即使我可以记录 request.payload 并正确查看数据。为什么我不能在任何地方使用 request.payload 值?

长话短说,Insomnia/Postman 发送一个对象作为 POST 正文,但我是 JSON 从应用程序编码 POST;只需要在服务器上解析它!