Mongoose:引用子模式时出错

时间:2017-05-29 13:52:59

标签: node.js mongodb mongoose models mongoose-schema

我的用户模型

'use strict';

const mongoose = require("mongoose");
const Schema = mongoose.Schema;


var UserSchema = new mongoose.Schema({
    id: String,
    username: String,
    firstName: String,
    lastName: String,
    initials: String,
    password: String,
    age: Number,
    dateJoined: Date,
    contactNo: String,
    email: String,
    about: String,

    groupId: Number,
    adminMode: Boolean,
    simpulPoints: Number,
})

//Define model for user
const User = {
    UserModel: mongoose.model("user", UserSchema),

}


module.exports = {
    UserSchema : UserSchema,
    User : User
}

我的活动模型

'use strict';

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
var UserSchema = require("../models/user").UserSchema


var EventSchema = new mongoose.Schema();
EventSchema.add({
    id: String,
    title: String,
    description: String,
    organizerId: String, //Simpul admin user responsible for event
    startDate: Date, //MM-DD-YYYY HH:MM:SS:sssZ
    endDate: Date,
    group: String,
    locaction: String,
    googleMapsLink: String,
    hasPassed: Boolean,
    attendees: Number,

    registeredUsers: [UserSchema],

    groupId: Number,
    adminMode: Boolean,
    simpulAward: Number,
});

//Define model for evnt
var Event = {

    EventModel : mongoose.model("event", EventSchema),

}

module.exports = {
    Event : Event,
    EventSchema : EventSchema
}

我得到了臭名昭着的“抛出新的TypeError('架构阵列路径的无效值'错误与'registeredUsers'字段。我跟着多个帖子有同样的问题,似乎无法找到我的位置出了问题。根据我的知识,我已经适当地导出了模式。欢迎任何帮助/提示

1 个答案:

答案 0 :(得分:0)

我最终将Schema声明移到一个单独的文件中,它似乎可以解决问题。怀疑它一定是VSCode对users.js文件的一些文件权限问题