如何解决猫鼬Model.create挂起,没有错误消息
我已经定义了Referral
模型,并且我正在尝试创建该模型的实例。但是,当我这样做时,请求将无限期挂起。当我console.log(Referral)
时,该对象会在控制台中正常显示。
这是我的代码:
// TODO: this hangs?
console.log("creating referral...");
const referral = await Referral.create({
referrer: referrer.email,referee: user.email,amount: 1000,});
console.log("referral created");
请注意,referral created
从未真正打印到控制台上!
这是模型:
const mongoose = require("mongoose");
const crypto = require("crypto");
const schema = new mongoose.Schema(
{
referrer: {
type: mongoose.Types.ObjectId,required: true,},referee: {
type: mongoose.Types.ObjectId,// Number of cents,1000 = $10
amount: {
type: Number,min: 0,{ timestamps: true }
);
// A user can't refer the same user twice
schema.index({ referrer: 1,referee: 1 },{ unique: true });
module.exports = mongoose.model("Referral",schema);
删除schema.index
行之后,没有任何变化。我还尝试过检查我是否正在将connectionOpen
和猫鼬一起使用,但是我没有。
解决方法
事实证明,问题在于我迁移了Referral
模型以使用mongoose.Types.ObjectId
而不是string
的类型。但是我一直试图将referrer.email
用作这些字段的参数。
像这样更改代码后,它不再挂起。
const referral = await Referral.create({
referrer: referrer,referee: user,amount: 1000,});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。