MongoDB最佳实践-一对多关系

dew*_*wey 5 javascript mongoose mongodb

根据这篇文章,我应该嵌入一个“引用”:MongoDB关系:嵌入还是引用?

User.js

const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const userSchema = new Schema({
    email: {
        type: String,
        required: true
    },
    password: {
        type: String,
        required: true
    },
    createdEvents: ['Event']
});

module.exports = mongoose.model('User', userSchema);
Run Code Online (Sandbox Code Playgroud)

Event.js

const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const eventSchema = new Schema({
    title: {
        type: String,
        required: true
    },
    description: {
        type: String,
        required: true
    },
    price: {
        type: Number,
        required: true
    },
    date: {
        type: Date,
        required: true
    }
});

module.exports = mongoose.model('Event', eventSchema);
Run Code Online (Sandbox Code Playgroud)

因此,嵌入式事件在数据库中如下所示:

在此处输入图片说明

我的代码可以运行,但是如果这是嵌入事件的正确方法,我会感到好奇。因为一对多关系的每个示例都是通过引用而不是嵌入的。