是否可以更新实体, 只替换输入中的数据并保留实体的其余部分?
答案 0 :(得分: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());
}
答案 1 :(得分: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); }
});
});
});