我有两个架构,一个团队和一个匹配.我想使用Team Schema来识别Match Schema中的团队.到目前为止,这是我的Team和Match JS文件.我想将Team Schema链接到我的Match Schema,以便我可以简单地识别主队或客队,这样我就可以在Match Schema中存储一个实际的Team对象.
这样我可以将主队称为Match.Teams.home.name = England(这只是一个例子)
Team.js
'use strict'; var util = require('util'); var mongoose = require('mongoose'); var Schema = mongoose.Schema; var validatePresenceOf = function(value){ return value && value.length; }; var getId = function(){ return new Date().getTime(); }; /** * The Team schema. we will use timestamp as the unique key for each team */ var Team = new Schema({ 'key' : { unique : true,type : Number,default: getId },'name' : { type : String,validate : [validatePresenceOf,'Team name is required'],index : { unique : true } } }); module.exports = mongoose.model('Team',Team);
这就是我想用Match.js做的事情
'use strict'; var util = require('util'); var mongoose = require('mongoose'); var Schema = mongoose.Schema; var TeamSchema = require('mongoose').model('Team'); var validatePresenceOf = function(value){ return value && value.length; }; var toLower = function(string){ return string.toLowerCase(); }; var getId = function(){ return new Date().getTime(); }; /** * The Match schema. Use timestamp as the unique key for each Match */ var Match = new Schema({ 'key' : { unique : true,'hometeam' : TeamSchema,'awayteam' : TeamSchema }); module.exports = mongoose.model('Match',Match);
解决方法
您的解决方案:使用实际架构,而不是使用架构的模型:
module.exports = mongoose.model('Team',Team);
至
module.exports = { model: mongoose.model('Team',Team),schema: Team };
然后var definition = require(‘path / to / js’);那,并直接使用definition.schema而不是模型
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。