答えて

0

私は望ましい効果をこのように持っている: 、 "約束{ }":

transaction.run(function(err) { 
    if (err) { 
     res.end(err); 
    } 

    transaction.get(key, function(err, entity) { 
     if (err) { 
      res.end(err); 
     } 
     if (entity) { 
      entity.ImportStatus = InputImportStatus; 
     } else { 
      res.end('No Entity err'); 
     } 

     transaction.save({ 
      key: key, 
      data: entity 
     }); 

     transaction.commit(function(err) { 
      if (!err) { 
       res.send(`Updated`) 
      } else { res.end(err); } 
     }); 
    }); 
}); 
1

エンティティを読み取って値を更新し、エンティティを書き込むトランザクションを実行したいと思うでしょう。

function updateEntity (updateKey, newValue) { 
    const transaction = datastore.transaction(); 

    return transaction.run() 
    .then(() => transaction.get(fromKey)) 
    .then((result) => { 
     const entity = result[0]; 

     entity.myProperty = newValue; 

     transaction.save(
     { 
      key: updateKey, 
      data: entity 
     } 
    ); 

     return transaction.commit(); 
    }) 
    .catch(() => transaction.rollback()); 
} 
+0

私はまだ更新を行うことができません、私は ' { "textPayload" を取得"insertId": "000000-f365b507-72d8-48e2-a3ce-f65052545bb6"、 "リソース":{ "タイプ": "cloud_function"、 "ラベル":{ "PROJECT_ID":「***** * "、 "地域 ":" us-central1 "、 " function_name ": "UpdateImportLog" }}、 "タイムスタンプ": "2017-09-25T11:57:45.233Z"、 "重症度": "INFO"、 "ラベル":{ "execution_id":" xci8wzhqkbqj " "、 "logName": "プロジェクト/暗号アナライザ-180608/logs/cloudfunctions.googleapis.com%2Fcloud-functions"、 "receiveTimestamp": "***" } –

関連する問題