gpt4 book ai didi

node.js - Mongoose Schema 中数据分组的正确结构

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:57 24 4
gpt4 key购买 nike

我创建了一个如下所示的 Mongoose 架构:

var UserSchema = new Schema({

user: [{
name: {
type: String,
required: true
},
email: {
type: String,
required: true,
index: { unique: true }
},
password: {
type: String,
required: true
},
mobile: Number
}],

account: [{
locked: {
type: Boolean,
default: false
},
accountType: {
type: String,
default: "guest"
},
failedLogins: {
type: Number,
default: 0
}
}],

reset: [{
resetToken: String,
resetExpirey: Date
}],

details: [{
accountCreated: Date,
lastLogin: Date
}]

});

如您所见,我尝试对某些字段进行分组。这是正确的方法吗?我现在在引用字段时遇到问题。当我尝试这样做时出现错误:

User.create({
user.name : req.body.name,
user.email : req.body.email,
user.password: req.body.password
}, function(err) {
if (err) res.send(err);
});

错误是意外的标记“.”在用户名中

最佳答案

您的 create 语句仍然需要是正确的 javascript,因此您的左侧对象文字将需要是字符串。

User.create({
'user.name' : req.body.name,
'user.email' : req.body.email,
'user.password': req.body.password
}, function(err) {
if (err) res.send(err);
});

此外,由于 Mongoose 要求您拥有一个数组而不是允许适当的子对象,因此您需要将它们实际插入为数组。

var user = {user: [{name:req.body.name, email: req.body.email, password: req.body.password}]};
User.create(user) ...

至于这样做“值得吗”,我的看法是:不值得。只需将所有这些内容放在根对象中,除非您计划在这个文档中拥有多个用户或多个帐户。

关于node.js - Mongoose Schema 中数据分组的正确结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27363140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com