我使用猫鼬随机插件。
在我的模式定义中,我调用
GameSchema.plugin(random, { path: 'r' });
之后,我有一个使用插件的自定义静态方法:
GameSchema.statics.someMethod {
[...]
GameSchema.findRandom...
我得到了错误
TypeError: Object #<Schema> has no method 'findRandom'
有没有办法实现我想要做的事情,或者我应该实现某种存储库?
编辑:
本的回答有效,我需要在模型上使用 findRandom 而不是模式。
就我而言,精确度:您需要首先声明您的静态函数
GameSchema.statics.someMethod {
[...]
Game.findRandom...
然后注册您的架构
var Game = mongoose.model('Game', GameSchema);
否则你会得到“模型......没有方法'someMethod'”
静态函数中的游戏变量是公认的事件,尽管它只是在脚本的后面定义。
=> 奖金问题:有人知道它为什么有效吗?