我想在pro_picture中插入cont和cont_type。但这不是嵌入式架构。
我的架构:
var userSch = new Schema({
name: String,
email: String,
profile_picture: {
cont: String,
cont_type: String
}
});
var User = mongoose.model('user', userSch);
现在我想找到电子邮件为“something@example.com”并更新pro_picture的用户。
我尝试了以下代码。
User.findOne({email: data.email}, function (err, user) {
var userData = new User({
profile_picture: {
cont: data.pro_cont,
cont_type: data.pro_cont_type
}
});
user.profile_picture = userData;
console.log(user.profile_picture);
console.log(user);
user.save(function (err) {
if(err) throw err;
callback(rjTypes.result.SUCCESS);
});
显示
profile_picture: null //in console
但该字段不存在于集合
中答案 0 :(得分:1)
最后我找到了..
我使用这种技术解决了......
User.findOne({email: data.email}, function (err, user) {
user.profile_picture.cont = data.pro_cont;
user.profile_picture.cont_type = data.pro_cont_type;
console.log(user.profile_picture);
console.log(user);
//user.profile_picture.cont_type = data.pro_cont_type;
user.save(function (err) {
if(err) throw err;
callback(rjTypes.result.SUCCESS);
});
});
答案 1 :(得分:1)
我认为你做的很多,尝试改变
var userData = new User({
profile_picture: {
cont: data.pro_cont,
cont_type: data.pro_cont_type
}
});
到
var userData = {
cont: data.pro_cont,
cont_type: data.pro_cont_type
};