Mongoose Foreign Key Virtual Population

JS
S
JavaScript

Example of linking to a foreign collection via any foreign key

1const mongoose = require('mongoose');
2const epa = require('epa').getEnvironment();
3const moment = require('moment');
4const Schema = mongoose.Schema;
5const uuid = require('node-uuid');
6
7const TelemetrySchema = new Schema({
8    amount: {
9        type: Number,
10        required: true
11    },
12    userId: {
13        type: String,
14        required: true,
15        index: true
16    }
17});
18
19// Virtual
20TelemetrySchema.virtual('accountFromUser', {
21  ref: 'account', // The model to use
22  localField: 'userId', // Find Accounts where `localField`
23  foreignField: 'userIds', // is equal to `foreignField`
24  justOne: true
25});
26
27TelemetrySchema.set('toJSON', { virtuals: true });
28TelemetrySchema.set('toObject', { virtuals: true });
29
30// Export Model
31module.exports = mongoose.model('telemetry', TelemetrySchema);

Created on 10/17/2018