2017-04-11 55 views
0

內部反對我得到了這個模式:節點和貓鼬 - 艾策斯另一個對象

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({電子郵件:req.body.email,密碼:req.body.password, profile.name:req.body.name}),當我嘗試傳遞一些值到profile.name時,控制檯給我一個錯誤。 SyntaxError:意外的標記。

如何獲取此對象併爲他傳遞一些值?

回答

0

如果您的密鑰包含一組有限的字符,則可以使用Javascript省略對象上的按鍵引號。期間.不是其中之一,所以你需要引用你的密鑰。

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

謝謝,我親愛的朋友。 –

+0

但是,如果我嘗試在EJS文件上使用它,會起作用嗎?如:<%= result.profile.name%> –

+0

是的。然後你訪問數據(在這種情況下,這個人的名字)。這就像將值存儲在代碼的右側。 – supersam654