Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mongoose model.findOne方法中的Array.filter错误_Javascript - Fatal编程技术网

Javascript mongoose model.findOne方法中的Array.filter错误

Javascript mongoose model.findOne方法中的Array.filter错误,javascript,Javascript,我想从数组中删除请求的id值。我使用array.filter方法编写了一个代码。与预期相反,无法删除请求的ID值。我想知道是什么导致了这个问题 // server/index.js app.post("/api/skills/delete/technitianUsers", auth, (req, res) => { const requestSkillId = req.body.id; const requestUserId = req.user._id;

我想从数组中删除请求的id值。我使用
array.filter
方法编写了一个代码。与预期相反,无法删除请求的ID值。我想知道是什么导致了这个问题

// server/index.js

app.post("/api/skills/delete/technitianUsers", auth, (req, res) => {
  const requestSkillId = req.body.id;
  const requestUserId = req.user._id;

  Skills.findOne({ _id: requestSkillId }, (err, skill) => {
    if (err) return res.json(findOneError(SKILLS_MODEL, err));
    if (!skill) return res.json(skillNotFound());
    console.log("findOne skill : ", skill);
    const updateData = skill.technitianUsers.filter((user) => {
      console.log("user._id : ", user._id);
      console.log("requestUserId : ", requestUserId);
      console.log("is equal? : ", user._id === requestUserId);
      return user._id !== requestUserId;
    });
    console.log("updateData : ", updateData);
    Skills.findOneAndUpdate(
      { _id: skill._id },
      {
        technitianUsers: updateData,
      },
      { new: true },
      (err, skill) => {
        console.log("afterUpdateSkill : ", skill);
        if (err) return res.json(findOneAndUpdateError(SKILLS_MODEL, err));
        if (!skill) return res.json(skillNotFoundAfterUpdate());

        return res.status(200).json(skillUserUpdateSuccess(skill));
      }
    );
  });
});
后端控制台

findOne skill :  {
   technitianUsers: [
     {
       role: 0,
       _id: 606adf3562de8a0d6d2955f4,
       email: 'tester1@naver.com',
       name: 'Tester 1'
     },
     {
       role: 0,
       _id: 606bf84b448bc70b51e6e287,
       email: 'tester2@naver.com',
       name: 'Tester 2'
     }
   ],
   learningUsers: [],
   _id: 606c0be750179e0ea4e17a44,
   name: 'REACT',
   __v: 0
 }
 user._id :  606adf3562de8a0d6d2955f4
 requestUserId :  606adf3562de8a0d6d2955f4
 is equal? :  false
 user._id :  606bf84b448bc70b51e6e287
 requestUserId :  606adf3562de8a0d6d2955f4
 is equal? :  false
 updateData :  [{"role":0,"_id":"606adf3562de8a0d6d2955f4","email":"tester1@naver.com","name":"Tester 1"},{"role":0,"_id":"606bf84b448bc70b51e6e287","email":"tester2@naver.com","name":"Tester 2"}]

为什么
user.\u id
requestUserId
不匹配