Meteor SimpleSchema 重复嵌套对象
Meteor SimpleSchema Repeated Nested Objects
我想知道是否有一种简单的方法可以做到这一点。首先这是我当前的模式:
Test.schema = new SimpleSchema({
owner: {
type: String,
label: 'Owner of the test',
},
name: {
type: String,
label: 'Name of the test',
},
createdAt: {
type: Date,
label: 'Date of test creation',
},
// MY QUESTION IS FOR THE OBJECT BELOW
[LOVE]: {
type: Object,
label: `Configuration for ${LOVE}`,
},
[LOVE.one]: { type: Boolean },
[LOVE.two]: { type: Boolean },
[LOVE.three]: { type: Boolean },
[LOVE.four]: { type: Boolean },
[LOVE.five]: { type: Boolean },
[LOVE.six]: { type: Boolean },
[LOVE.seven]: { type: Boolean },
[LOVE.eight]: { type: Boolean },
[LOVE.nine]: { type: Boolean },
});
在我有 LOVE 变量的地方,我希望它等于多个值,这样我就不必一遍又一遍地编写相同的模式。
我以为我可以使用正则表达式之类的东西,但我不知道。有人可以帮忙吗?
恕我直言
relations : { type : [boolean] }
那么你会
LOVE.relations
作为 8 个条目的集合。无需将其限制为我假设的这 8 个。
您可能会使用不同的术语,也许 affairs 或更好的匹配,但背后的想法只是按照集合的用途来使用它.
只需使用嵌套架构:
lovers = new SimpleSchema({
one: {type: boolean},
two: {type: boolean},
three: {type: boolean},
four: {type: boolean},
five: {type: boolean},
six: {type: boolean},
seven: {type: boolean},
eight: {type: boolean},
nine: {type: boolean},
});
然后在您的原始模式中重复使用它:
Test.schema = new SimpleSchema({
owner: {
type: String,
label: 'Owner of the test',
},
name: {
type: String,
label: 'Name of the test',
},
createdAt: {
type: Date,
label: 'Date of test creation',
},
LOVE: { type: lovers },
PASSION: { type: lovers },
DESIRE: { type: lovers },
etc...
});
希望这就是您想要的。
我想知道是否有一种简单的方法可以做到这一点。首先这是我当前的模式:
Test.schema = new SimpleSchema({
owner: {
type: String,
label: 'Owner of the test',
},
name: {
type: String,
label: 'Name of the test',
},
createdAt: {
type: Date,
label: 'Date of test creation',
},
// MY QUESTION IS FOR THE OBJECT BELOW
[LOVE]: {
type: Object,
label: `Configuration for ${LOVE}`,
},
[LOVE.one]: { type: Boolean },
[LOVE.two]: { type: Boolean },
[LOVE.three]: { type: Boolean },
[LOVE.four]: { type: Boolean },
[LOVE.five]: { type: Boolean },
[LOVE.six]: { type: Boolean },
[LOVE.seven]: { type: Boolean },
[LOVE.eight]: { type: Boolean },
[LOVE.nine]: { type: Boolean },
});
在我有 LOVE 变量的地方,我希望它等于多个值,这样我就不必一遍又一遍地编写相同的模式。
我以为我可以使用正则表达式之类的东西,但我不知道。有人可以帮忙吗?
恕我直言
relations : { type : [boolean] }
那么你会
LOVE.relations
作为 8 个条目的集合。无需将其限制为我假设的这 8 个。
您可能会使用不同的术语,也许 affairs 或更好的匹配,但背后的想法只是按照集合的用途来使用它.
只需使用嵌套架构:
lovers = new SimpleSchema({
one: {type: boolean},
two: {type: boolean},
three: {type: boolean},
four: {type: boolean},
five: {type: boolean},
six: {type: boolean},
seven: {type: boolean},
eight: {type: boolean},
nine: {type: boolean},
});
然后在您的原始模式中重复使用它:
Test.schema = new SimpleSchema({
owner: {
type: String,
label: 'Owner of the test',
},
name: {
type: String,
label: 'Name of the test',
},
createdAt: {
type: Date,
label: 'Date of test creation',
},
LOVE: { type: lovers },
PASSION: { type: lovers },
DESIRE: { type: lovers },
etc...
});
希望这就是您想要的。