Solución:
El enlace que publicó es, lamentablemente, la única respuesta real en este momento (versión de API 2012-08-10). PutItem
puede devolver artículos justo antes de que se actualicen o ninguno en absoluto.
El
ReturnValues
El parámetro es utilizado por varias operaciones de DynamoDB; sin embargo,PutItem
no reconoce ningún valor que no seaNONE
oALL_OLD
.
En resumen, el único de confianza La forma de recuperar el objeto insertado es GetItem
, tal como lo conjeturaste.
Solo pasa el params.Item
en la devolución de llamada:
dynamo.put(params, (err, data) => {
if (err) {
cb(err);
}
cb(null, params.Item);
});
Pasa el err
en la devolución de llamada también;)
Tenga en cuenta que este es el elemento que está insertando, al que ya tiene acceso:
{
"eventId": date + '-' + eventName + '-' + eventPurpose,
"eventName": eventName,
"eventPurpose": eventPurpose,
"eventDates": eventDates,
"attendees": attendees
}
Simplemente podría cambiar su código a esto, y luego tendría el elemento insertado en el item
variable ya:
var item = {
"eventId": date + '-' + eventName + '-' + eventPurpose,
"eventName": eventName,
"eventPurpose": eventPurpose,
"eventDates": eventDates,
"attendees": attendees
};
const params = {
TableName: "event",
Item: item,
ReturnValues: "ALL_OLD"
};
Parece estar confundido acerca de lo que está insertando, porque comienza su pregunta mostrando un objeto que dice que está insertando, pero el código que publicó está insertando un objeto ligeramente diferente.