关于javascript:如何在Sails.js中嵌入和编写mongo对象(不止一层)?

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

似乎他们已经将其计划为功能请求。