繁体   English   中英

Model.find 不是 function mongoose

[英]Model.find is not a function mongoose

我有一个迷你赌场游戏,并且有一个 mongoose model 定义如下:

const jackpotSchema = mongoose.Schema({
    round_id: {
        type: String, 
        default: uniqid(), 
        required: true, 
    },
    createdAt: {
        type: Date, 
        required: true, 
        default: Date.now
    },

    closedAt: {
        type: Date,
    },

    startedAt: {
        type: Number, 
    }, 

    roundSecret: {
        type: String, 
        required: true,
    }, 

    random_org_hash: {
        type: String,
    },

    random_org_obj: {
        type: String
    },

    roundSecretHash: {
        type: String, 
    },
    
    winningPercentage: {
        type: Number, 
        // required: true, 
        // first 5 characters of the secret hash, converted into decimal then divided by 10K 
    },
    publicHash: {
        type: String, 
        required: true, 
        // SHA-256 roundSecret + winningPercentage
    },

    finalHash: {
        type: String, 
    },

    winningTicket: {
        type: Number, 
    },

    winningDepositIndex: {
        type: Number, 
    },

    deposits: [{
        uid: {
            type: String, 
            required: true,
        }, 

        user: {
            type: String,
            required: true, 
        },

        nonce: {
            type: Number,
        },

        amount: {
            type: Number, 
            required: true, 
        }, 

        user_avatar: {
            type: String, 
        }, 

        ticketRangeMin: {
            type: Number, 
            required: true, 
        }, 

        ticketRangeMax: {
            type: Number, 
            required: true, 
        },

        referral: {type: String},
        timestamp: {type: Date}, 
        timestamp_readable: {type: String}
    }],

    total: {
        type: Number,
        required: true, 
        default: 0, 
    },

    totalTickets: {
        type: Number, 
        default: 0, 
    }, 

    winner: {
        type: String, 
        default: "",
    },

    winner_avatar: {
        type: String,
    },

    active: {
        type: Boolean, 
        default: true, 
        required: true, 
    },

    open: {
        type: Boolean, 
        required: true,
        default: true,  
    },

    roundTime: {
        type: Number, 
        // default: potConfig.potLength, 
        default: 20000, 
    },

    success: {
        type: Boolean,
    },

    fee: {
        type: Number, 
        default: potConfig.potFee,
    }

})

module.exports = mongoose.model("Jackpot", jackpotSchema)

在本地运行我的应用程序时,我没有遇到任何错误。 但是,在 ubuntu 生产环境上运行时,出现以下错误: Jackpot.find is not a function

堆栈跟踪表明错误来自 db_utils.js,如下所示:

const Jackpot   = require("./models/Jackpot");
...
async retrieveStats () {
  var jackpots = await Jackpot.find().lean();
}

我检查了我的 module.exports 是否定义正确,并且是正确的。 不知道为什么会发生此错误。

我的本地和生产节点版本匹配。 12.18.4

你不需要做

const jackpotSchema = new mongoose.Schema({...})

代替

 const jackpotSchema = mongoose.Schema({...})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM