我正在尝试将子文档的值设置为true / false 更新无法正常工作,并且没有显示错误消息
我的模式
mongoose.set('useFindAndModify', false);
mongoose.set('useCreateIndex', true);
// Define collection and schema for User
let profileSchema = new Schema({
tags: [String],
desc: {type: String,required:true},
shifts:[{
_id:false,
shiftId:{type:mongoose.Schema.Types.ObjectId, ref:'Shift'},
day:{type: String,required:true},
isActive:{type: Boolean, required:true}
}],
imDisponibilite: { type: Boolean, required: false},
userId: {type:mongoose.Schema.Types.ObjectId, ref:'User', required:true, unique:true},
createdAt: {type: Date, default: Date.now}
}, {timestamps: true});
Profile.findOneAndUpdate(
{ "_id": id, "shifts.shiftId": shift.shiftId, "shifts.day":shift.day },
{
"$set": {
"shifts.$.isActive": shift.isActive
}
},
function(err,doc) {
console.log(err.message+err.msg+err+" "+doc)
}
);
我正在获取ID,从请求中转移信息(正确记录了所有变量) 我没有任何错误 我也尝试了Profile.update(),updateMany()和updateOne() 我尝试直接从mongo控制台更新,也没有用(我是mongodb的新手) 谢谢您的帮助
编辑 将我的功能更新为: 我收到““ {” n“:1,” nModified“:1,” ok“:1}”,状态:200“,但未发生更新
Profile.updateOne(
{ "_id": ObjectId("5d2e7e943459203fb446d4f1"), "shifts.shiftId": ObjectId("5d276982a3d42a2ce0b7557e"), "shifts.day":shift.day },
{
"$set": {
"shifts.$.isActive": true
}
},
function(err,doc) {
console.log(err+" "+JSON.stringify(doc));
res.json(doc);
}
);