jagi / meteor-astronomy

Model layer for Meteor
https://atmospherejs.com/jagi/astronomy
MIT License
604 stars 66 forks source link

advice on indexes on 'type' #715

Open meecect opened 4 years ago

meecect commented 4 years ago

I have something like:

export const Entity = Class.create({
  name: 'Entity',
  collection: Entities,
  typeField: 'type',
  fields: {
    uuid: {
      type: String,
      optional: true,
    },
    published: {
      type: Boolean,
      default: true,
    },

and then numerous subclasses of that.

I was thinking of adding an index on type so I did like this:

export const Entity = Class.create({
  name: 'Entity',
  collection: Entities,
  typeField: 'type',
  fields: {
    type: {
      type: String,
      index: "String"
    },
    uuid: {
      type: String,
      optional: true,
    },

Does that sound reasonable? Is there any issue defining the field (and the index) like that even though I already specified the 'typeField' parameter?

Thanks

lukejagodzinski commented 4 years ago

@meecect you don't have to do that. Astronomy is already creating index for the type field for you https://github.com/jagi/meteor-astronomy/blob/v2/lib/modules/storage/hooks/apply_definition.js#L100

meecect commented 4 years ago

thank you, I was kinda assuming that it would, but thought I'd ask anyway.