Это моя модель пользователя, так что вы, ребята, можете получить представление о моей структуре базы данных.express js как преобразовать массив в объект
var userSchema = new Schema({
firstName: {type: String, required: true, trim: true},
lastName: {type: String, required: true, trim: true},
address: {
street: {type: String, required: true, trim: true},
city: {type: String, required: true, trim: true},
state: {type: String, min: 2, max: 2, required: false},
zipCode: {type: String, required: true, trim: true},
},
companies:[
{
type: Schema.Types.ObjectId,
ref: 'Company',
required: true
}
],
edited: {type: Date},
created: {type: Date, default: Date.now}
});
Я пытаюсь получить пользователя и компании, связанные с этим пользователем. которые я получаю с этим.
router.post('/', function(req, res){
var email = req.body.email;
var password = req.body.password;
User.findOne({email: email, password: password, active: true})
.populate('companies')
.exec(function(err, user){
if(err){
throw err;
}
else if (!user) {
//user wasn't found
res.render('/', {validation: "Invalid Email Or Password"})
}
else {
user.companies = user.companies[0];
console.log(user);
res.end();
}
});
});
когда в console.log (пользователь) я получаю этот выход:
{
firstName: 'firstName',
lastName: 'lastName'
companies:[{object}]
}
теперь проблема с моим кодом является то, что им говорят, что массив компании должны быть объектом в этом строка кода.
user.companies = user.companies[0];
Мой вопрос: как я могу сделать вывод консоли таким.
{
firstName: 'firstName',
lastName: 'lastName'
companies:{object}
}
thank yo u пользователь.toObject() сделал трюк. – user3862830