javascript - 我想从猫鼬的数组中删除项目
问题描述
下面的代码用于关注,我希望用户单击另一个按钮并定位此 app.post("/unfollow"...) 以删除关注。在发布路线( app.post("/unfollow"...) )中,我想为取消关注编写代码。我怎样才能做到这一点并转到我在代码中评论的每个子项目____1____, ____2____, ____3____
。我需要从每个用户中删除用户。请帮助我..
app.post("/follow", function (req, res) {
const id = req.body.idFllw;
User.findById(req.user.id, (err, foundItemsUsers) => {
// const idUsers = req.user.id;
Feed.findById(id, (err, foundItemsFollwing) => {
User.findById(foundItemsFollwing.id, (err, foundItemsFollow) => {
// add new fllw to Users DB
// following process ____1____
const followingModel = new Follwing();
followingModel.follwing = foundItemsFollwing.profile_name;
followingModel.id = foundItemsFollwing.id;
foundItemsUsers.follwing.push(followingModel);
foundItemsUsers.save();
// followers process ____2____
const follwersModel = new Follwers();
follwersModel.follwers = foundItemsUsers.profile_name;
follwersModel.id = foundItemsUsers.id;
foundItemsFollow.follwers.push(follwersModel);
foundItemsFollow.save();
// followers on person following ____3____
const follwersModel_Feed = new Follwers();
follwersModel_Feed.follwers = foundItemsUsers.profile_name;
follwersModel_Feed.id = foundItemsUsers.id;
foundItemsFollwing.follwers.push(follwersModel_Feed);
foundItemsFollwing.save();
});
//redirect to specific post
res.redirect("/#" + id);
});
});
});
用户数据库:
lights: '12',
s3_profile: 'x',
_id: 612dfb70f680fa26e48e1719,
username: 'x',
profile_name: 'x',
des: 'x',
follwers: [
{
_id: 612e1136bae81200049afab2,
follwers: 'Matei',
id: '612dfcdaca18b0298c88a7f7'
},
{
_id: 612e1137bae81200049afac3,
follwers: 'Matei',
id: '612dfcdaca18b0298c88a7f7'
}
],
follweing: [
{
_id: 612e1136bae81200049afab2,
follwers: 'Matei',
id: '612dfcdaca18b0298c88a7f7'
},
{
_id: 612e1137bae81200049afac3,
follwers: 'Matei',
id: '612dfcdaca18b0298c88a7f7'
}
],
__v: 20
}
解决方案
如果你想从数组中删除项目,例如你想从数组中删除follweing
具有id
612dfcdaca18b0298c88a7f7
User.findByIdAndUpdate(
_id,
{$pull:{follweing:{id:"612dfcdaca18b0298c88a7f7"}}},
{multi:true}
)
你可以添加另一个检查{$pull:{follweing:{id:"612dfcdaca18b0298c88a7f7",followers:"Matei"}}}
推荐阅读
- angular - 我在 Angular 7 中创建了一个库项目。我想在另一个项目中使用这个库项目而不发布。有什么办法吗?
- amazon-web-services - AWS Cognito Lambda 授权方 - 401 未经授权的错误
- c++ - Qt5Quickd.lib(Qt5Quickd.dll):致命错误 LNK1112:模块机器类型“x64”与目标机器类型“x86”冲突
- php - 如何使用工作代码在 php 中使用 Ajax 调用创建磁卡读卡器代码?
- django - non_field_errors,无效数据。DRF
- excel - 删除第一个单元格时自动向上移动列中的单元格
- dart - 如何找到 Pub 包的大小?
- powershell - 如何根据PowerShell中的模式提取文件夹内的文件名
- node.js - 在 Windows 10 和 Windows Server 2012 及更高版本上托管“node.js”应用程序的现代方式是什么?
- laravel - 使用外部表的属性过滤 eloquent 集合