我正在接收一个来自mongodb query的js对象,我想使用delete optr从对象中删除一个键值对,但没有删除,isFollowing值也没有设置,但if part中的代码运行成功。(使用nodeJS)
我已经尝试使用delete选项来删除...然而,它适用于未定义的,但我设置为isFollowing的值不会反映在object中。
baseData.numFollowers = baseData.followers.length;
baseData.numFollowing = baseData.following.length;
if(forWhom === 'self'){
delete baseData.following;
delete baseData.followers;
}else
if(forWhom === 'other'){
const selfUID = req.body.self_id;
baseData.isFollowing = baseData.followers.includes(selfUID);
delete baseData.followers;
delete baseData.following;
}
let toSend = {success:true, basic:baseData};正在获取结果:
{
following: [],
followers: [],
numFollowers: 0,
numFollowing: 0
}预期结果:
{
numFollowers: 0,
numFollowing: 0,
isFollowing: true (or false)
}发布于 2019-04-10 20:40:02
要使用delete,您需要通过调用toObject将模型文档转换为普通的JavaScript对象,这样您就可以像这样自由地操作它:
const base = baseData.toObject();
base.numFollowers = base.followers.length;
base.numFollowing = base.following.length;
if(forWhom === 'self'){
delete base.following;
delete base.followers;
}else
if(forWhom === 'other'){
const selfUID = req.body.self_id;
base.isFollowing = base.followers.includes(selfUID);
delete base.followers;
delete base.following;
}
let toSend = {success:true, basic:base};https://stackoverflow.com/questions/55612690
复制相似问题