Vous vous attendez à ce que upsert crée le livre manquant, mais ce n'est pas ainsi que cela fonctionne.
Je pense que vous avez créé 2 requêtes, une pour vérifier si le livre existe et une autre pour le mettre à jour/créer (soit push, soit vous créez le livre)