我如何解决猫鼬/节点JS中的引用问题

时间:2020-05-22 14:58:55

标签: javascript node.js mongodb mongoose postman

我为用户提供路线和模型,然后为贷款提供另一个。我正在尝试在“贷款”路线内引用用户,但是在PostMan上进行测试时,都会出现此错误:

TypeError: Cannot read property '_id' of undefined
    at C:\Users\Micho\Documents\GBENGA\BE\src\routes\loans\index.js:38:47

贷款模型代码为:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;


const loanSchema = new Schema({
    customerName: {
        type: String,
        required: true
    },
    gender: {
        type: String
    },
    address: {
        city: String,
        state: String,
    },
    amount: {
        type: Number
    },
    loanTenure: {
        type: Number
    },
    user: {
        type: Schema.Types.ObjectId,
        ref: 'User'
    },
    loanStatus: {
        type: String,
        default: "created"
    }
}, {
    timestamps: true
})

我的路线是这样

router.post("/", async (req, res) => {
    try {

      let loan = await new Loan({...req.body});

      loan.save();

        await User.findByIdAndUpdate(req.user._id, { $push: { loans: loan._id } })
        console.log(req.user)

      loan = await Loan.findById(loan._id).populate("user");
      res.send(loan);
    } catch (error) {
        console.log(error)
      res.status(500).send(error);
    }
  });

请帮助。谢谢

0 个答案:

没有答案