![](/img/trans.png)
[英]Mongoose: Update of array inside another nested array element not working as expected
[英]update an element inside an array of object is not working in Mongoose
我用貓鼬查詢來更新文檔,在該文檔中我必須檢查文檔_id和對象數組內的另一個id。 我的查詢是:
Survey.findOneAndUpdate({"_id":req.params.id,"inv_users.cmp_user_id":cmp_user_id},
{
$set:{ "inv_users.$.survey_completed":true}
}
我需要找到一個帶有_id
的文檔,並且只更新survey_completed
中的inv_users
const SurveySchema = mongoose.Schema({
name : {
type : String,
require : true,
},
company_id: {
type : Schema.ObjectId,
require:true
},
category : {
id : Schema.ObjectId,
name : {
type : String,
require : true,
}
},
theme : {
type : Schema.ObjectId,
},
display_type : {
ui : {
type : String
},
randomization : {
type : Boolean,
default : false,
},
skip : {
type : Boolean,
default : false,
},
pageno : {
type : Boolean,
default : false,
}
},
start_datetime : {
type: Date,
},
end_datetime : {
type: Date,
},
logo : {
type : String,
},
is_header : {
type : Boolean,
default : false,
},
is_footer : {
type : Boolean,
default : false,
},
header_title : {
type: String,
},
footer_title : {
type: String,
},
questions : [{
question : {
type : String,
},
ans_type : {
type : String,
},
options : [{
type : String,
}],
answers : [{
answer : {
type : String,
},
cmp_user_id : {
type : Schema.ObjectId,
},
global_user_id : {
type : Schema.ObjectId,
},
date_time : {
type : Date,
default:Date.now()
},
ip : {
type : String,
},
latitude : {
type : Number,
},
longitude : {
type : Number,
}
}]
}],
inv_users : [{
cmp_user_id : {
type : Schema.ObjectId,
},
email : {
type : String,
},
mail_viewed : {
type : Boolean,
default : false,
},
ip : {
type : String,
},
latitude : {
type : Number,
},
longitude : {
type : Number,
},
img_read_code : {
type : String,
},
mail_responsed : {
type : Boolean,
default : false,
},
survey_completed : {
type : Boolean,
default : false,
},
}]
});
有這個同樣的問題只是把$ set全部取出來並且它起作用了
Survey.findOneAndUpdate({"_id":req.params.id,"inv_users.cmp_user_id":cmp_user_id},
{
"inv_users.$.survey_completed":true
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.