我的模型看起来像这样:
user.js的
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var memberSchema = new Schema({
email: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true,
min: 8
}
});
var userSchemaPrimary = new Schema({
team_code : {
type: String,
required: true,
unique: true
},
members:[memberSchema],
});
var User = mongoose.model('User', userSchemaPrimary);
module.exports = User;
这就是我试图保存的方式
var User = require('../models/user');
var newTeam = new User({
team_code : 'CODE01',
members:
{
email: req.body.email,
password: pass
}
});
newTeam.save(function(err) {
if (err) throw err;
console.log('User saved successfully!');
return res.send("Done");
});
执行时,会抛出模型验证错误。 好吧,我试图在没有数组文档的情况下保存数据,然后成功保存。但是当我尝试保存数组(数组“成员”)时,它会抛出验证错误。
我想
以下列方式存储数据:
{
team_code: "CODE01",
members: [
{
email: "test01@email.com",
password: "11111111"
},
{
email: "test02@email.com",
password: "22222222"
}
{
email: "test03@email.com",
password: "33333333"
}
]
}
我不明白出了什么问题。任何帮助表示赞赏。
答案 0 :(得分:1)
您正在将对象分配给members
字段,但它是一个数组
var newTeam = new User({
team_code : 'CODE01',
members: [{
email: req.body.email,
password: pass
}] // <-- note the array braces []
});