J'ai un problème lorsque j'essaie d'obtenir les détails de l'utilisateur en procédant comme suit
err := usercollection.findone(ctx, bson.m{"email": input.email}).decode(&input)
dans mon contrôleur utilisateur mais il renvoie zéro. J'ai un chèque mongo.errnodocuments
mais il passe toujours à un chèque nul et ne renvoie rien mais j'ai un utilisateur avec le même identifiant de messagerie. Mon contrôleur utilisateur ressemble à ceci.
func SignInUser(c *fiber.Ctx) error { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) var input models.User defer cancel() if err := c.BodyParser(&input); err != nil { return c.Status(http.StatusBadRequest).JSON(responses.UserResponse{Status: http.StatusBadRequest, Message: "error", Data: &fiber.Map{"data": err.Error()}}) } input.Email = util.NormalizeEmail(input.Email) fmt.Println("received data", input.Email) err := userCollection.FindOne(ctx, bson.M{"email": input.Email}).Decode(&input) if err == mongo.ErrNoDocuments { fmt.Println("User not found>>>") } else if err == nil { fmt.Println("err") } return c.Status(http.StatusNotFound).JSON(responses.UserResponse{ Status: http.StatusNotFound, Message: "Account not found", Data: &fiber.Map{ "data": "No Account belongs to given credentials"}}) }
Merci pour toute aide. Merci d'avance
Vous devez renvoyer votre modèle utilisateur à la fin de la fonction :
return c.JSON(fiber.Map{"status": "success", "message": "User found", "data": input})
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!