如何解决使用Lodash在Mongo中更新嵌套数组
我正在尝试更新用户集合中的嵌套布尔值。我可以找到用户并从嵌套数组中获取ID值,但无法使用_lodash更新。我需要使用$set
吗?我已经在寻找接近此解决方案的方法,但是语法与我的设置方式不一致。
我收到的回复是更新了“活动”字段,但是在数据库中我看不到它的反映。
app.put('/api/updateFocus',(req,res) => {
User.findById(req.body._id,function(error,user) {
if (error) {
console.error(error)
return res.status(500).send('user is not found!')
}
if (!user) {
return res.status(404).send('user is not found!')
}
const focuses = user.focuses || []
const focusesIndex = _.findIndex(focuses,f => f.id == req.body.focusID)
user.focuses[focusesIndex].active = req.body.focusState
user.save(function(error) {
if (error) {
console.log(error)
return res.status(500).send(error)
}
console.log('>>>>',user.focuses[focusesIndex].active)
// console.log('user>>>',user)
res.send(user)
})
})
})
我的模式:
focuses: {
type: Object,default: focuses
},
^创建用户时,我将焦点作为JSON加载。 JSON示例正在加载:
export const focuses = [
{
id: 0,type: 'Dungeon Crawl',desc: 'The player enjoys dungeon delving and killing endless hordes of enemies.',icon: '../assets/icons/018-wizard.svg',active: false
},{
id: 1,type: 'Heavy Story',desc:
'The player loves immersive,lively worlds filled will engaging characters and a heavy focus on roleplay.',]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。