diff --git a/src/server/models/user.js b/src/server/models/user.js index 482f30e..70fc370 100755 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -2057,15 +2057,20 @@ UserSchema.statics.addCircuitToUser = async function (idapp, usernameOrig, circu } else { + // prima di aggiungerlo controlla se esiste già ! + let update = { - $push: { + $addToSet: { // Utilizziamo $addToSet invece di $push per garantire che l'elemento venga aggiunto solo se non esiste già 'profile.mycircuits': { - circuitname, - date: new Date(), - }, - }, + $each: [{ + circuitname, + date: new Date(), + }], + } + } }; - ris = await User.updateOne({ idapp, username: usernameOrig }, update); + + ris = await User.updateOne({ idapp, username: usernameOrig, 'profile.mycircuits': { $not: { $elemMatch: { circuitname } } } }, update); if (confido) { // Elimina la richiesta: diff --git a/src/server/populate/contribtypes.js b/src/server/populate/contribtypes.js index 8c3a987..eb6f8c0 100644 --- a/src/server/populate/contribtypes.js +++ b/src/server/populate/contribtypes.js @@ -173,5 +173,11 @@ module.exports = { "label" : "Euro", "__v" : 0 }, + { + "_id" : ObjectID("51bc482667de9a1f64b254ff"), + "idapp" : "13", + "label" : "Bitcoin", + "__v" : 0 + }, ] }