Richard Ortiz Richard Ortiz - 2 months ago 26
Javascript Question

meteor make user's schema collection2 to login

I'd like use this schema as user and login or extend form users.I read documentation and I don't understand how extends from users. how I can make it?

Dipendenti = new Mongo.Collection('dipendenti');
DipendentiSchema = new SimpleSchema({
nome: {
type: String
},
cognome:{
type: String
},
codiceFiscale:{
type: String
},
telefono:{
type: String
},
indirizzo:{
type: String
}
});

Answer

I believe you are trying to extend/merge the schema listed above to the users collection. If so, you just need to attach the schema to the collection.

Meteor.users.attachSchema(DipendentiSchema);

UPDATE:

To use this new merged schema, you should be able to do something like:

Accounts.createUser({
  username: 'test',
  email: 'test@example.com',
  password: 'password',
  nome: 'Richard',
  cognome: 'Ortiz',
  codiceFiscale: 'EUR',
  telefono: '+39 06 49911',
  indirizzo: 'Piazzale Aldo Moro, 5, 00185 Roma, Italy'
});

If you want to make email address optional in your schema, you can add the following to it.

emails: {
    optional: true,
    type: [Object]
},
"emails.$.address": {
    optional: true,
    type: String
},
"emails.$.verified": {
    optional: true,
    type: Boolean
}

UPDATE 2:

Ensure that you are defining and attaching the schema wherever you are trying to make changes to the users collection. It is generally considered a best practice to do your database changes only on the server for security. You could write a method on the server using Meteor.methods({}); and then call it on the client with Meteor.call({}); and pass it your user data. You can read more about this approach the Meteor documentation.