Parse platform 解析服务器为什么要创建新对象而不是更新?

Parse platform 解析服务器为什么要创建新对象而不是更新?,parse-platform,parse-server,Parse Platform,Parse Server,我正在使用express在NodeJS环境中运行解析服务器 通常,Parse会自动找出哪些数据发生了更改,因此只有“脏”字段才会发送到Parse云。所以,我不需要担心挤压我不打算更新的数据 但是为什么下面的代码每次都保存新数据,而不是用“Some name”更新现有的文档数据呢 问题是,您正在执行查询以查找要更新的对象,但在转到“保存数据”时没有使用结果 query.first({ // This will result in just one object returned succe

我正在使用express在NodeJS环境中运行解析服务器

通常,Parse会自动找出哪些数据发生了更改,因此只有“脏”字段才会发送到Parse云。所以,我不需要担心挤压我不打算更新的数据

但是为什么下面的代码每次都保存新数据,而不是用“Some name”更新现有的文档数据呢


问题是,您正在执行查询以查找要更新的对象,但在转到“保存
数据”
时没有使用结果

query.first({ // This will result in just one object returned
    success: (result) => { 
        // Check to make sure a result exists
        if (result) {
            result.save(data, {
                // Rest of code
注意:您将
playerName
视为唯一键。如果多个用户可以拥有相同的
playerName
属性,那么就会出现bug。您可以改用
id
,它保证是唯一的。如果改用
id
,则可以使用

编辑: 由于要更新现有对象,因此必须指定其id

var GameScore = Parse.Object.extend("GameScore");
var gameScore = new GameScore();
gameScore.id = "ID"; // This id should be the id of the object you want to update

我刚刚更新了代码。请复习。这应该更新现有对象,而不是每次运行代码时都创建新对象。但它每次都会创建一个新的重复对象,而不是更新现有对象。使用id/email等唯一密钥也不能解决问题。什么现有对象?您没有从数据库中获取任何对象。我的解析服务器(mongodb数据库)有一个具有完全相同数据的现有文档对象。但它没有相同的id。嘿@perception30,如果我的答案适用于您,您可以标记它吗?谢谢
var GameScore = Parse.Object.extend("GameScore");
var gameScore = new GameScore();
gameScore.id = "ID"; // This id should be the id of the object you want to update