【发布时间】:2021-04-09 02:19:59
【问题描述】:
我正在尝试更新 mogoodb 数组中的值,但这是问题所在 数据库?
"TempChannels": [{
"user": "299481590445113345",
"channel": "794869948878159884",
"settings": []
}, {
"user": "583363766750806043",
"channel": "795004103998308352",
"settings": []
}],
应该更新用户的代码部分:
Data.TempChannels[0].user = Target.id
Data.save().catch(er => console.log(er))
另外,运行代码时没有出现错误。当我控制数据时,它返回一个已更新但实际上并未保存在 mongodb 中的用户! 代码
Data.save().then(() => console.log(Data.TempChannels[0].user))
这是全部数据
{
"_id": {
"$oid": "5ff0cd1ee3d9fd2d40d82d23"
},
"TempChannels": [{
"user": "299481590445113345",
"channel": "795014692522295326",
"settings": []
}, {
"user": "583363766750806043",
"channel": "795015273060892753",
"settings": []
}],
"Guild": "704158258201624657",
"Stats": "true",
"ChannelID": "795014681664290826",
"ParentID": "795014680556994610",
"LogChannelID": "795014683601010709",
"TempControlChannelID": "795014682518749274",
"DefaultSettings": {
"limit": null,
"name": null,
"bitrate": null,
"copyperms": null
},
"__v": 2
}
我正在按 Guild 过滤数据
【问题讨论】:
-
我认为它在这个 console.log Data.save().then(() => console.log(Data.TempChannels[0].user)) 中发生了变化,因为您正在记录数据您刚刚在变量“Data”中更新了它,但它没有保存到 mongoose,这就是为什么它似乎在这里被更新但实际上它不是,因为它没有正确保存。你在用猫鼬吗?
标签: node.js arrays mongodb discord.js