2 つのコレクション間の関係を作成しようとしていますが、コレクションの 1 つを他のコレクションで参照することはできません。具体的には、Sites と ContentTypes の 2 つのコレクションがあります。これはそれらが含まれるものです:
// app/lib/collections/sites.js
Sites = new Mongo.Collection('sites');
Sites.attachSchema(new SimpleSchema({
name: {
type: String,
label: "Name",
max: 100
},
client: {
type: String,
label: "Client",
max: 100
},
created: {
type: Date,
autoValue: function() {
if (this.isInsert) {
return new Date;
} else if (this.isUpsert) {
return {$setOnInsert: new Date};
} else {
this.unset(); // Prevent user from supplying their own value
}
}
}
}));
ContentTypes コレクションは次のとおりです。
// app/lib/collections/content_types.js
ContentTypes = new Mongo.Collection('content_types');
ContentTypes.attachSchema(new SimpleSchema({
name: {
type: String,
label: "Name",
max: 100
},
machineName: {
type: String,
label: "Machine Name",
max: 100
},
site:{
type: Sites
},
created: {
type: Date,
autoValue: function() {
if (this.isInsert) {
return new Date;
} else if (this.isUpsert) {
return {$setOnInsert: new Date};
} else {
this.unset(); // Prevent user from supplying their own value
}
}
}
}));
Sites 参照を ContentTypes スキーマに追加すると、アプリが次のエラーでクラッシュします。
ReferenceError: lib/collections/content_types.js:32:11 でサイトが定義されていません
これを超える collection2 の関係のドキュメントを見つけるのはあまり運がありませんでした。そこで参照されている形式は、このスレッドに基づいて機能するはずです。