Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点js-TypeError:无法读取属性_Javascript_Node.js_Ecmascript 6_Postman - Fatal编程技术网

Javascript 节点js-TypeError:无法读取属性

Javascript 节点js-TypeError:无法读取属性,javascript,node.js,ecmascript-6,postman,Javascript,Node.js,Ecmascript 6,Postman,我正在与nodejs进行测试注册,我建立了一个免费的mongo实验室数据库,并在本地服务器上测试注册。我不断地在我的路线上得到这个错误,我可以控制到var user=new user();(控制台-用户)并获取对象。我可以控制台user.profile,控制台会将名称和图片显示为对象等。但由于某些原因,我的代码显示user.profile.name未定义。你们能发现什么错误吗 这是我的型号 var mongoose=require('mongoose'); var bcrypt=requir

我正在与nodejs进行测试注册,我建立了一个免费的mongo实验室数据库,并在本地服务器上测试注册。我不断地在我的路线上得到这个错误,我可以控制到var user=new user();(控制台-用户)并获取对象。我可以控制台user.profile,控制台会将名称和图片显示为对象等。但由于某些原因,我的代码显示user.profile.name未定义。你们能发现什么错误吗

这是我的型号

var mongoose=require('mongoose');
var bcrypt=require('bcrypt-nodejs');
var Schema=mongoose.Schema;
var UsersSchema=新模式({
电邮:{
类型:字符串,
独一无二:没错,
小写:true
},
密码:String,
简介:{
名称:{type:String,默认值:''},
图片:{类型:字符串,默认值:''}
},
地址:String,
历史:[{
日期:日期:,
已付:{类型:编号,默认值:0},
}]
});
UsersSchema.pre('save',函数(下一步){
var user=this;
如果(!user.isModified('password'))返回next();
bcrypt.genSalt(10,函数(错误,盐){
if(err)返回next(err);
bcrypt.hash(user.password、salt、null、函数(err、hash){
if(err)返回next(err);
user.password=hash;
next();
});
})
})
UsersSchema.methods.comparePassword=函数(密码){
返回bcrypt.compareSync(密码,this.password)
}

module.exports=mongoose.model('User',UsersSchema)您必须首先将配置文件分配给某个对象,因为定义了user,但未定义user.profile 在
user.profile.name=req.body.name

或者替换以下内容并重试

-var User=require('../models/users')带有
var UsersSchema=require('../models/users')


-
var user=new user()带有
var user=new UsersSchema()

您必须首先将配置文件分配给某个对象,因为用户已定义,但user.profile未定义 在
user.profile.name=req.body.name

或者替换以下内容并重试

-var User=require('../models/users')带有
var UsersSchema=require('../models/users')


-
var user=new user()带有
var user=new UsersSchema()

您正试图从
配置文件
访问
名称
属性,该属性未定义

var user = new User();
user.profile.name = req.body.name;
-----------/\
要实现此功能,请首先定义
配置文件

var user = new User();
user.profile = {};
user.profile.name = req.body.name;

您正试图从未定义的
配置文件
访问
名称
属性

var user = new User();
user.profile.name = req.body.name;
-----------/\
要实现此功能,请首先定义
配置文件

var user = new User();
user.profile = {};
user.profile.name = req.body.name;

您正在分配
user.profile.name=req.body.name。把这一行放在上面:
user.profile={}
@guijob,但它不是已经在模型中定义了吗。我在var user=new user下做了一个“console.log('user object,'user)”,得到了-user object{profile:{name:'',picture:'},我照你说的做了,但仍然抛出了你在这个语句中分配
user.profile.name=req.body.name;
的错误,没有定义profile属性。把这一行放在上面:
user.profile={}
@guijob,但它不是已经在模型中定义了吗?。我做了一个“console.log('user object,'user)”就在var user=new user和get-user-object{profile:{name:'',picture:''}下面。我按照你说的做了,仍然抛出了相同的错误,但它不是已经在模型中定义了吗?。我在var user=new user和get-user-object{profile:{name:'',picture:''下面做了一个“console.log('user object,'user'),我照你说的做了,但仍然抛出了相同的错误,但它不是已经在模型中定义了吗?我在var user=new user下做了一个“console.log('user object',user)”并得到了-user object{profile:{name:'',picture:'},我照你说的做了,但仍然抛出了相同的错误,但是user不是包含profile的对象吗?它不是已经在模型中定义了吗?我在var user=new user下做了一个“console.log('user object,'user)”并得到了-user object{profile:{name:'',picture:'},。我按照你说的做了,但仍然抛出了相同的错误,但user不是包含配置文件的对象吗?它是否已经在模型中定义了?我在var user=new user下做了一个“console.log('user object,'user)”并得到了-user object{profile:{name:'',picture:'}。我按照你说的做了,仍然抛出了相同的错误