我的 models/User.js
如下所示:
const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
class User {
constructor() {
this.user = mongoose.model('user', {
... ...
}
}
}
const user = new User();
module.exports = user;
在try/try.js
中:
const UserModel = require('../models/Users')
... ...
let users = await UserModel.find({});
然后,运行 node try.js
会返回错误 (node:41525) UnhandledPromiseRejectionWarning: TypeError: UserModel.find is not a function
。
有人知道如何解决这个问题吗?
答案 0 :(得分:1)
通过您的代码,您需要访问 user
类实例中的 User
属性才能使用 mongoose 方法。应该是:
let users = await UserModel.user.find({});
注意:如果您没有任何特殊原因/要求将 mongoose 模型包装在一个类中,您可以直接导出 mongoose 模型,然后您在 try.js
中的代码将工作。