【发布时间】:2017-02-10 00:25:15
【问题描述】:
我已经苦苦挣扎和安静地阅读了一段时间,似乎无法为我的问题找到合乎逻辑的解释。
这是我的模式声明的代码:
var mongoose = require('mongoose');
var Schema = mongoose;
var exports = module.exports = {};
var userSchema = new mongoose.Schema({
username: String,
email: String,
password: String
});
var messageSchema = new mongoose.Schema({
text: String,
user: userSchema,
created_at: {type: Date, default: Date.now}
});
var roomSchema = new mongoose.Schema({
name: String,
topic: String,
users: [userSchema],
messages: [messageSchema],
created_at: {type: Date, default: Date.now}
});
var User = mongoose.model("user", userSchema);
var Message = mongoose.model("message", messageSchema);
var Room = mongoose.model("room", roomSchema);
exports.Users = User;
exports.Messages = Message;
exports.Rooms = Room;
然后我只是在创建一些虚拟数据:
var usersArr = [];
var userTemp = new User({
username: "Spiderman",
email: "spiderman@chat.com",
password: "password"
});
userTemp.save(function (err, user) {
if (err)return console.log(err)
//console.log(user);
});
usersArr.push(userTemp);
//some more users....
//messagesArr
var messagesArr = [];
var msgTemp = new Message({
text: "I think Magneto is getting too old",
user: usersArr[19]
});
msgTemp.save(function (err, msg) {
if (err)return console.log(err)
//console.log(msg);
});
messagesArr.push(msgTemp);
//some more msgs......
var roomsArr = [];
var roomTemp = new Room({
name: "Villains",
topic: "Discussing newly spotted villains on our streets",
users: usersArr,
messages: messagesArr
});
roomTemp.save(function (err, room) {
if (err)return console.log(err)
// console.log(room);
});
roomsArr.push(roomTemp);
//some more rooms........
除了我尝试通过 messagesArr
var roomTemp = new Room({
name: "Villains",
topic: "Discussing newly spotted villains on pur streets",
users: usersArr,
messages: messagesArr
});
然后一切都崩溃了
value.validate(fn, {__noPromise: true}); ^
TypeError: value.validate 不是函数
对我来说,它看起来与我对其他模式所做的非常相似,我无法弄清楚这个模式有什么问题。任何帮助都感激不尽!看来我真的错过了什么:/
【问题讨论】:
标签: node.js mongoose schema mongoose-schema