来自sails.js的例子,
// Person.js
var Person = {
attributes: {
firstName: 'STRING',
lastName: 'STRING',
age: {
type: 'INTEGER',
max: 150,
required: true
}
birthDate: 'DATE',
phoneNumber: {
type: 'STRING',
defaultsTo: '111-222-3333'
}
emailAddress: {
type: 'email', // Email type will get validated by the ORM
required: true
}
}
};
现在我如何添加emailAddress以将家庭和办公室作为嵌入字段?
试图这样做:
emailAddress: { {
work: {
type: 'email',
},
personal: {
type: 'email',
}
}
},
和
emailAddress: {
attributes: {
work: {
type: 'email',
},
personal: {
type: 'email',
}
}
},
两者都不起作用。我收到第二种情况下的“找不到属性的规则”,第一种情况下的“意外的令牌{”等错误。
答案 0 :(得分:10)
好的,通过一些线程来解决这个问题。 在这个阶段,似乎Sails Waterline不支持嵌入式MongoDB架构。 您可以编写自己的贡献或强制它,但是开箱即用支持(模型验证)等也需要被黑客攻击。 https://github.com/balderdashy/sails-mongo/issues/44
另一个选择 - 遗憾的是sails-mongoose也不受支持。 From where can we decide collection name in use of "sails-mongoose" package, in node.js + sailsjs?
<强>更新即可。 从V0.10开始,Sails支持关联。也许这会使它发挥作用。仍然是实验性的。
<强>更新即可。 使用关联功能,您可以在不同模型中强制使用模式并在它们之间创建引用,但到目前为止,您似乎无法嵌入它们 - 只能将它们与不同的集合/表关联起来。
答案 1 :(得分:1)
https://github.com/balderdashy/sails-mongo/issues/44
似乎他们已经计划将其作为功能请求进行规划。