0
エンティティの更新を行うことは可能ですか? 入力からのデータのみを置き換え、残りのエンティティを保持しますか?Nodejsを使用してGoogle Datastoreのエンティティを更新する
エンティティの更新を行うことは可能ですか? 入力からのデータのみを置き換え、残りのエンティティを保持しますか?Nodejsを使用してGoogle Datastoreのエンティティを更新する
私は望ましい効果をこのように持っている: 、 "約束{
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); }
});
});
});
エンティティを読み取って値を更新し、エンティティを書き込むトランザクションを実行したいと思うでしょう。
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());
}
私はまだ更新を行うことができません、私は ' { "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": "***" } –