Mensaje de error
En el mensaje, %s marca un valor que el motor completa cuando lanza el error.
La historia
Intentaste añadir con data.add una clave que ya existe, y el motor te frenó. En rush hay dos puertas para escribir datos, y son opuestas a propósito. data.add sirve para verter un ítem nuevo, y nunca sobrescribe. data.update sirve para sobrescribir una clave que ya existe. Así, cambiar un valor tiene una única puerta, y no ocurre por accidente. Aquí, la clave ya estaba en la colección, o tu propia llamada la nombraba dos veces. Si el motor la hubiera sobrescrito, habrías perdido un valor que quizá ni sabías que estaba ahí. Antes, este rechazo salía con un código genérico que decía solo que alguien dijo que no. Ahora el mensaje te da el nombre de la colección y la clave exacta. Un ejemplo: ya tienes una clave edad, y vuelves a hacer data.add con edad. La solución: si querías cambiar el valor, usa data.update; si querías una entrada nueva, usa otra clave. Una puerta para añadir, otra para cambiar.
Texto del catálogo de errores del motor de Rush.
