4.5.14 • Published 1 year ago

q3-plugin-extref v4.5.14

Weekly downloads
98
License
MIT
Repository
-
Last release
1 year ago

Extended Reference and Autopopulate Plugin

This plugin implements the Extended Reference Pattern to reduce lookups in your code. It connects to Mongoose's save middleware, so it will not fire on update operations. It also relies on Q3's archiving functionality, so it will only pull or unset on specific document changes.

// FILE #1
const  mongoose = require('mongoose');
const { ExtendedReference } = require('q3-plugin-extref');

const  ReferenceSchema = new  mongoose.Schema({
    name:  String,
    age:  Number,
});

// tells the plugin which collections to update on save
ReferenceSchema.plugin(ExtendedReference.plugin, [
    'TARGETS',
]);

module.exports = mongoose.model('DEMO_ONLY', ReferenceSchema);

// FILE #2
const  mongoose = require('mongoose');
const { ExtendedReference } = require('q3-plugin-extref');
const  ReferenceModel = require('./reference');

const  TargetSchema = new  mongoose.Schema({
  friend:  new  ExtendedReference('DEMO_ONLY')
    .on(['name', 'age'])
    .set('name', { private:  true })
    .done(),

  // Saves as:
  // {
  //   ref: ObjectId(),
  //   name: 'Example',
  //   age: 21
  // }
});

module.exports = mongoose.model('TARGETS', TargetSchema);

Alternatively, this plugin also ships with a very basic autopopulation feature.

const  mongoose = require('mongoose');
const { autopopulate } = require('q3-plugin-extref');

const  TargetSchema = new  mongoose.Schema({
    email: {
        type:  String,
        unique:  true,
        autopopulate:  true,
        autopopulateSelect:  'projection path',
        ref: 'DEMO_ONLY'
    }
});

TargetSchema.plugin(autopopulate)
4.5.14

1 year ago

4.5.8

1 year ago

4.5.5

1 year ago

4.4.14

1 year ago

4.4.17

1 year ago

4.4.16

1 year ago

4.5.10

1 year ago

4.5.13

1 year ago

3.7.2

2 years ago

4.0.5

1 year ago

4.4.0

1 year ago

4.0.2

1 year ago

4.4.8

1 year ago

4.4.7

1 year ago

3.6.9

2 years ago

4.3.1

1 year ago

4.2.3

1 year ago

4.2.2

1 year ago

4.2.4

1 year ago

4.2.1

1 year ago

4.2.0

1 year ago

3.8.2

2 years ago

3.8.1

2 years ago

3.8.6

2 years ago

4.1.0

1 year ago

4.1.1

1 year ago

3.6.2

2 years ago

3.6.0

2 years ago

3.6.6

2 years ago

3.6.8

2 years ago

3.6.7

2 years ago

3.5.3

2 years ago

3.5.2

2 years ago

3.5.0

2 years ago

3.4.20

2 years ago

3.4.18

2 years ago

3.4.19

2 years ago

3.4.0

2 years ago

3.4.10

2 years ago

3.4.12

2 years ago

2.1.6

2 years ago

2.1.5

2 years ago

3.4.8

2 years ago

3.4.7

2 years ago

3.4.6

2 years ago

3.4.5

2 years ago

3.4.9

2 years ago

3.3.5

2 years ago

3.3.3

2 years ago

2.1.4

2 years ago

3.3.1

2 years ago

3.3.0

2 years ago

2.0.3

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.7

2 years ago

2.0.6

2 years ago

2.0.9

2 years ago

2.0.1

2 years ago

3.2.2

2 years ago

1.25.0

2 years ago

3.2.1

2 years ago

1.25.1

2 years ago

3.2.0

2 years ago

3.1.2

2 years ago

3.1.0

2 years ago

3.1.5

2 years ago

3.1.4

2 years ago

2.1.2

2 years ago

2.1.3

2 years ago

2.1.0

2 years ago

1.23.2

2 years ago

1.23.0

2 years ago

1.23.1

2 years ago

1.24.0

2 years ago

1.22.5

3 years ago

1.22.4

3 years ago

1.22.0

3 years ago

1.22.3

3 years ago

1.22.1

3 years ago

1.22.2

3 years ago

1.21.3

3 years ago

1.21.1

3 years ago

1.21.2

3 years ago

1.21.0

3 years ago

1.20.0

3 years ago

1.19.12

3 years ago

1.19.13

3 years ago

1.19.11

3 years ago

1.19.10

3 years ago

1.19.9

3 years ago

1.19.8

3 years ago

1.19.7

3 years ago

1.19.6

3 years ago

1.19.5

3 years ago

1.19.4

3 years ago

1.19.0

3 years ago

1.19.3

3 years ago

1.19.2

3 years ago

1.19.1

3 years ago

1.18.5

3 years ago

1.18.4

3 years ago

1.18.3

3 years ago

1.18.1

3 years ago

1.18.2

3 years ago

1.18.0

3 years ago

1.17.13

3 years ago

1.17.11

3 years ago

1.17.12

3 years ago

1.17.10

3 years ago

1.17.9

3 years ago

1.17.8

3 years ago

1.17.6

3 years ago

1.17.7

3 years ago

1.17.5

3 years ago

1.17.4

3 years ago

1.17.2

3 years ago

1.17.1

3 years ago

1.17.0

3 years ago

1.17.3

3 years ago

1.16.9

3 years ago

1.16.8

3 years ago

1.16.10

3 years ago

1.16.11

3 years ago

1.16.7

3 years ago

1.16.6

3 years ago

1.16.5

3 years ago

1.16.4

3 years ago

1.16.3

3 years ago

1.16.2

3 years ago

1.16.1

3 years ago

1.16.0

3 years ago

1.15.0

3 years ago

1.14.1

3 years ago

1.14.3

3 years ago

1.14.2

3 years ago

1.14.0

3 years ago

1.13.0

3 years ago

1.12.8

3 years ago

1.12.7

3 years ago

1.12.6

3 years ago

1.12.5

3 years ago

1.12.3

3 years ago

1.12.2

3 years ago

1.12.4

3 years ago

1.12.1

3 years ago

1.11.0

3 years ago

1.10.6

3 years ago

1.10.5

3 years ago

1.10.4

3 years ago

1.10.2

3 years ago

1.10.1

3 years ago

1.10.0

3 years ago