第一次在這里發(fā)帖。我有一個(gè)貓鼬模式和模型,如下所示:const DataSchema = new Schema( { name:{type: String, default: ""}, task: {type: Schema.Types.Mixed, default: {}} }, { timestamps: true, _id: true, minimize: false, strict: false });const Data = mongoose.model("Data", DataSchema);現(xiàn)在,當(dāng)使用“名稱”參數(shù)創(chuàng)建用戶配置文件時(shí),我會(huì)得到以下響應(yīng)作為示例:{"success: true, "data":[{"name":"Eminem","_id":"5ee8468316a2ea32bcfbf411","task":{},"createdAt":"2020-06-16T04:11:47.441Z","updatedAt":"2020-06-16T04:11:47.441Z","__v":0}]}我的下一步行動(dòng)是根據(jù)用戶對“taskName”的輸入來更新任務(wù)對象。例如:如果用戶輸入“work”作為“taskName”,我希望任務(wù)對象更新為"task": {work:{}}.為此,我使用了下面的方法,但它從不更新“任務(wù)”對象。誰能看到我做錯(cuò)了什么?var id = "5ee8468316a2ea32bcfbf411"var taskName="work"var key = 'task.'+taskNamevar push = {}push[key]={}Data.findByIdAndUpdate({_id:id}, push, (err,data)=> { if(err) throw err });在此先感謝您的幫助。
使用變量鍵作為對象值時(shí),在 MongoDB 中更新對象數(shù)據(jù)的正確方法是什么?
手掌心
2022-10-08 15:36:42