How to embed and write mongo objects in Sails.js (more than one level deep)?
从sails.js示例中,
// Person.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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以将家庭和办公室作为嵌入式字段?
尝试通过以下方式进行操作:
1 2 3 4 5 6 7 8 9 10 | emailAddress: { { work: { type: 'email', }, personal: { type: 'email', } } }, |
和
1 2 3 4 5 6 7 8 9 10 11 | emailAddress: { attributes: { work: { type: 'email', }, personal: { type: 'email', } } }, |
都不起作用。我遇到第二种情况的错误,例如"没有为属性找到规则",第一种情况是"意外的令牌{"。
好吧,下面通过一些线程。
似乎Sails Waterline在此阶段不支持嵌入式MongoDB模式。
您可以编写自己的贡献或强制进行贡献,但是现成的支持(模型验证)等也需要被破解。
https://github.com/balderdashy/sails-mongo/issues/44
不幸的是,另一个选项-sails-mongoose也不受支持。
在哪里可以使用node.js sailsjs中的" sails-mongoose "包来确定集合名称?
更新。
从V0.10开始,Sails支持关联。也许那会使它工作。仍处于实验阶段。
更新。
使用关联功能,您可以在不同的模型中强制使用模式并在它们之间创建引用,但是到目前为止,您似乎无法嵌入它们-仅将它们与不同的集合/表相关联。
https://github.com/balderdashy/sails-mongo/issues/44
似乎他们已经将其计划为功能请求。