Я нахожу документ с мангустом, используя findOne
. Мне удалось установить свойство, которое не определено в схеме, для документа с помощью doc.set(key, val)
. Однако, когда я хочу проверить, имеет ли документ это свойство или нет, он просто показывает «нет», даже если у него есть его.
User.findOne({email: req.user.email})
.then(user=>{
if(user.posts){
//Tried with user.has("posts")=>logs error: .has is not a function
let posts = user.get("posts");
posts.push({
"Type": "Idea",
"Field/s of idea": req.body["Field/s of idea"],
"Idea": req.body.idea,
"Date": new Date()
});
user.set("posts", posts);
}else{
user.set("posts", [{
"Type": "Idea",
"Field/s of idea": req.body["Field/s of idea"],
"Idea": req.body.idea,
"Date": new Date()
}]
);
};
user.save();
})
.catch(err=>{throw err});
Код схемы:
const UserSchema = new Schema({
_id: {type: ObjectId, auto: true},
username: {type: String, required: true, max:18},
email: {type: String, required: true},
password: {type: String, required: true, min:5},
date_of_registration: {type: Date, required: true}
}, { strict: false });