Mongodb FindOne returns 未定义的对象 属性

Mongodb FindOne returns object with undefined property

我正在尝试使用 findOne 的名称属性从我的集合中获取用户,但它 returns 未定义,而我的用户在数据库中。

这是我的架构:

var schema = new mongoose.Schema({
  name: {
    type: String,
    required: [true, "Please enter a name"],
    maxlength: 32,
  },
  password: {
    type: String,
    required: true,
    minlength: [6, "Password must be at least 6 characters"],
  },
  email: {
    type: String,
    required: true,
    unique: true,
  },
  isAdmin: {
    type: Boolean,
    default: false,
  },
});

const Userdb = mongoose.model("userdb", schema);

module.exports = Userdb;

这是我试图吸引用户的地方:

const name = req.body.name;
  const password = req.body.password;
  const user = Userdb.findOne({name: name});
  // console.log(user.name, user.password);
  if (user.name === undefined)
    return res.status(400).send({ message: "User not found" });

  const dbpassword = user.password;

我的 console.log returns 未定义

在数据库中:

我的post人post要求:

检查您的正文请求并确保您在数据库集合中有符合此条件的数据。如果收集的数据与查询猫鼬不匹配return你未定义。

  • 以原始模式发送请求并设置Json发送请求的类型

Like this

并且您应该创建异步函数并使用 await 来获取数据,然后将其记录下来

const user = await Userdb.findOne({name: name});