在Mongoose中引用模式

时间:2018-02-06 01:00:34

标签: node.js mongodb mongoose pass-by-reference

我有几个模型将被保存在单独的文件中,我似乎无法找到一种方法来引用它们而不需要将它们放在同一个文件中。

我的第一个文件包含以下内容:

local_ts_workaround

第二个文件是:

var mongoose = require('mongoose'),
  bcrypt = require('bcrypt'),
  Schema = mongoose.Schema;

var UserSchema = new Schema({
  email: {
    type: String,
    unique: true,
    lowercase: true,
    trim: true,
    required: true
  },
  hash_password: {
    type: String
  },
  /* etc */
});

UserSchema.methods.comparePassword = function(password) {
  return bcrypt.compareSync(password, this.hash_password);
};

module.exports = mongoose.model('User', UserSchema);

我一直收到此错误:“TypeError:var mongoose = require('mongoose'); var Schema = mongoose.Schema; var ThreadSchema = new Schema({ title: { type: String, required: true, trim: true }, created_by: { type: { type: Schema.Types.ObjectId, ref: 'User' }, required: true } /* etc */ }); module.exports = mongoose.model('Threads', ThreadSchema); 处的未定义类型undefined”。如果我将用户和线程模型保存在同一个文件中,但是当我将文件分开时,它们就不再可以相互引用了。我尝试在threadModel的顶部添加require('。/ userModel'),但这也不起作用。

感谢任何帮助。

0 个答案:

没有答案