【发布时间】:2017-05-30 21:23:49
【问题描述】:
我的用户模型
'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
}
我在 'registeredUsers' 字段中遇到了臭名昭著的“throw new TypeError('Invalid value for schema Array path”错误。我已经关注了多个帖子,遇到了同样的问题,但似乎找不到我在哪里出错了。据我所知,我已经适当地导出了架构。欢迎任何帮助/提示
【问题讨论】:
-
该错误表明
UserSchema是null或undefined,但从您显示的内容来看,我不知道如何。事实上,我无法重现该问题。 -
@robertklep 是的,这很奇怪。如果我将 UserSchema 包含在同一个文件中,则定义没有问题,因此导出时一定有问题...
-
您能在创建
EventSchema之前添加console.log(UserSchema)吗?甚至在导入之后。 -
我已经这样做了,结果得到了
undefined。我也刚刚尝试从同一个文件中导出一个简单的文字并得到undefined -
在这种情况下,我会怀疑
models/user.js文件。如果它是正确的文件,它可能会对module.exports或exports做一些奇怪的事情。
标签: node.js mongodb mongoose models mongoose-schema