Node和mongoose - 在另一个对象中访问对象

时间:2017-04-11 02:36:05

标签: javascript node.js mongodb express

我得到了这个架构:

var mongoose = require('mongoose');


var userSchema  = new mongoose.Schema({

    email: {type:String, unique: true, lowercase: true},

    cpf: String,

    password: String,

    profile:{
        name:{type:String, default:''},
        photo: {type:String, default:''}
    },

    adress:String,

    history:[{
        date: Date,
        paid:{type:Number, default:0},
        item:{type:mongoose.Schema.Types.ObjectId, ref:'Products'}
    }]
});


module.exports = mongoose.model('User', userSchema);

但是,当我使用User.create({email:req.body.email,密码:req.body.password,profile.name:req.body.name})时,当我尝试将一些值传递给个人资料时.name,console给了我一个错误。 SyntaxError:意外的令牌。

我怎样才能获得这个对象并为他传递一些价值?

1 个答案:

答案 0 :(得分:0)

如果您的密钥包含有限的字符集,则Javascript允许您省略对象上的键周围的引号。期间.不是其中之一,因此您需要引用密钥。

User.create({
  email: req.body.email,
  password: req.body.password,
  'profile.name': req.body.name
})