Est-il possible de faire une mise à jour de l'entité, en remplaçant uniquement les données de l'entrée et en conservant le reste de l'entité?Mise à jour de l'entité dans le magasin de données Google à l'aide des noeuds
0
A
Répondre
0
J'ai l'effet désiré de cette façon:
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
Vous voudrez faire une transaction où vous lisez l'entité, mettez à jour la valeur, écrivez l'entité.
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());
}
Je suis toujours incapable de faire la mise à jour, je reçois ' { "textPayload": "Promise {}", "insertid": "000000-f365b507-72d8-48e2-a3ce-f65052545bb6", "ressource": { "type": "cloud_function", "étiquettes": { "project_id": « ***** * ", " region ":" us-central1 ", " nom_fonction ": "UpdateImportLog" }} , "horodatage": "2017-09-25T11: 57: 45.233Z", "gravité": "INFO", "étiquettes": { "execution_id":" xci8wzhqkbqj " ", "nom_log": "projets/analyseur_crypto-180608/logs/cloudfunctions.googleapis.com% 2FonctionsFoudres", "receiveTimestamp": "***" } ' –