我一直在努力和阅读安静一段时间,似乎无法找到我的问题的逻辑解释。嵌入式阵列架构类型在Mongoose上不受尊重
这是我的模式声明代码:
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: "[email protected]",
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 is not a function
对我来说,它看起来非常类似于我正在做的其他模式,我无法弄清楚这是什么问题。任何帮助都感激不尽!好像,我真的失去了一些东西:/
请重新格式化你的答案,这是非常难以阅读。 –