0

Here is the code for the PUT method:

[/api/[id].ts]

case "PUT":
      try {
        const user = await UserModel.findOneAndUpdate(
          {
            _id: id,
          },
          {
            $set: req.body,
          }
        );

        if (!user) {
          return res.status(400).json({ success: false });
        }

        res.status(200).json(user);
      } catch (error) {
        res.status(400).json({ success: false });
      }
      break;

enter image description here

It doesn't even change the money to the number given. but when I tried it with email instead, it worked.

Here is my model:

[models/UserModel.ts]

import { model, models, Schema, SchemaTypes } from "mongoose";

const UserSchema = new Schema({
  name: {
    type: SchemaTypes.String,
    required: true,
  },
  email: {
    type: SchemaTypes.Number,
    required: false,
  },
  image: {
    type: SchemaTypes.String,
    required: true,
  },
  emailVerified: {
    type: SchemaTypes.Number,
    required: false,
  },
  money: {
    type: SchemaTypes.Number,
    required: true,
    default: 100,
  },
  luck: {
    type: SchemaTypes.Number,
    required: true,
    default: 1,
  },
});

export default models.User || model("User", UserSchema);
FSCYT
  • 104
  • 7

1 Answers1

0

Not fixed but I've used a very bad way around. Because I don't use either emailVerified nor email, I've used them as luck and money and for some weird reason that worked.

FSCYT
  • 104
  • 7