2016-04-28 7 views
0

コンピュータに流星アプリケーションを初めて読み込むときに、いくつかのダミーのアカウントを作成したいと思います。これは開発のためのものです。私はこの作業をしていますが、サブスキーマにデータを追加する方法を理解できません。情報動作していない最初の起動時に完全なユーザープロファイルを作成する

// user creation 
    _.each(users, function(userData) { 
     // return id for use in roles assignment below 
     var userId = Accounts.createUser({ 
     email: userData.email, 
     password: 'password', 
     profile: { 
      firstName: userData.firstName, 
      familyName: userData.familyName, 
      phone: '041111111', 
     }, 
     }); 

を欠けているバージョンの作業

DB

"profile": { 
    "firstName": "first", 
    "familyName": "last", 
    "phone": "041111111", 
    "address": { 
     "street": "22 Test St", 
     "suburb": "Melbourne", 
    } 
    } 

- 私は、ユーザーに追加したい

// user creation 
    _.each(users, function(userData) { 
     // return id for use in roles assignment below 
     var userId = Accounts.createUser({ 
     email: userData.email, 
     password: 'Zaq12wsx', 
     profile: { 
      firstName: userData.firstName, 
      familyName: userData.familyName, 
      phone: '0416089930', 
      address: { 
      street: '22 Test St', 
      suburb: 'Melbourne' 
      } 
     }, 
     }); 
0に対処あなたのコメントを1として

SimpleSchema

Schema.UserProfile = new SimpleSchema({ 
    firstName: { 
     type: String, 
     optional: false, 
    }, 
    familyName: { 
     type: String, 
     optional: false, 
    }, 
    address: { 
     type: Schema.Address, 
     optional: true 
    } 
}); 

Schema.Address = new SimpleSchema({ 
    street: { 
     type: String, 
     optional: false, 
    }, 
    suburb: { 
     type: String, 
     optional: false, 
    }, 
}); 
+0

がなかったなどのあなたはまた、単一のオブジェクト内のすべてのスキーマを定義することができ、この

Meteor.users.attachSchema(Schema.User);

のようなあなたのmeteor.usersにユーザー・スキーマを追加することができますユーザーのスキーマを定義します。単純なコレクションまたはコレクション2を使用して? –

+0

はい私はコレクション2を使用しています – bp123

+0

あなたも私にそのことを教えてもらえますか? –

答えて

0

、あなたは、ユーザーのために間違ったスキーマを設計しています。これは、ユーザーのスキーマを設計する方法です。ユーザープロファイルのアドレスのユーザープロファイル

Schema.UserProfile = new SimpleSchema({ 
    firstName: { 
     type: String, 
     optional: false, 
    }, 
    familyName: { 
     type: String, 
     optional: false, 
    }, 
    address: { 
     type: Schema.Address, 
     optional: true 
    } 
}); 

スキーマに対するユーザー

Schema.User = new SimpleSchema({ 
    username: { 
     type: String, 
     optional: true 
    }, 
    emails: { 
     type: Array, 
     optional: true 
    }, 
    "emails.$": { 
     type: Object 
    }, 
    "emails.$.address": { 
     type: String, 
     regEx: SimpleSchema.RegEx.Email 
    }, 
    "emails.$.verified": { 
     type: Boolean 
    } 
    profile: { 
     type: Schema.UserProfile, 
     optional: true 
    }, 
    services: { 
     type: Object, 
     optional: true, 
     blackbox: true 
    }, 
}); 

スキーマのための

スキーマ。

Schema.Address = new SimpleSchema({ 
    street: { 
     type: String, 
     optional: false, 
    }, 
    suburb: { 
     type: String, 
     optional: false, 
    }, 
}); 

次に、あなたがこの

Schema.User = new SimpleSchema({ 
    username: { 
     type: String, 
     optional: true 
    }, 
    emails: { 
     type: Array, 
     optional: true 
    }, 
    "emails.$": { 
     type: Object 
    }, 
    "emails.$.address": { 
     type: String, 
     regEx: SimpleSchema.RegEx.Email 
    }, 
    "emails.$.verified": { 
     type: Boolean 
    } 
    profile: { 
     type: Object, 
     optional: true 
    }, 
    'profile.firstName': { 
     type: String, 
     optional: false, 
    }, 
    'profile.familyName': { 
     type: String, 
     optional: false, 
    }, 
    'profile.address': { 
     type: Object, 
     optional: true 
    }, 
    'profile.address.street': { 
     type: String, 
     optional: false, 
    }, 
    'profile.address.suburb': { 
     type: String, 
     optional: false, 
    }, 
    services: { 
     type: Object, 
     optional: true, 
     blackbox: true 
    }, 
}); 
+0

あなたの提案に従っているかどうかわかりませんMeteor.users.attachSchema(Schema.User); 'あなたが私がどのように通りや郊外? – bp123

関連する問題