我是mongodb的初学者,我想在 Array标签中添加一个对象。 即:对象数组。。我正在使用 $ addToSet运算符,但是它不起作用。 我有一个这样的收藏:
{
"_id" : ObjectId("5c231693d1b726c55ec914a3"),
"name" : "Christine Franklin",
"degrees" : [
{
"level" : "Master",
"major" : "Cs",
"completion_year" : "2018",
"faculty" : "AKz"
},
{
"level" : "Bachelor",
"major" : "Biology",
"completion_year" : 2008,
"faculty" : "Science"
}
],
"school_email" : "cfranklin@example.edu",
"email" : "christine@example.com"
}
const schema=new mongoose.Schema({
name:String,
degrees:[String],
school_email:String,
email:String
});
const GradeDetails=mongoose.model('graduate',schema);
这是我的代码:
const result=await GradeDetails.update({"name" : "Christine Franklin"},{
$addToSet:{
"degrees":{
"level" : "PG",
"major" : "M.Tech",
"completion_year" : "2018",
"faculty" : "KG"
}}
});
console.log(result);
预先感谢...任何人都可以解决此问题?
答案 0 :(得分:0)
除了类型严重不匹配的问题之外,您是否检查过对象是否已在数据库中更新并且只是无法正确显示?如果是这样,请将标志{ new : true }
添加到您的更新查询选项中。否则,将返回旧对象。