猫鼬:“无法读取未定义的属性'forEach'”

时间:2020-08-26 23:48:19

标签: javascript node.js mongodb mongoose

我正在尝试在Mongoose中执行简单的搜索,以使所有用户都位于查询用户的给定半径内。换句话说,一个用户登录后,我想获取20英里以内的所有用户,不包括查询用户。

我什至没有使用"Cannot read property 'forEach' of undefined"时遇到一个奇怪的错误:forEach。甚至更奇怪,查询也包含两个部分:_idloc,当我分别执行每个查询时,它们会一起工作,但不会一起工作。

我的代码在下面,有人可以帮我了解发生了什么事吗?

app.post("/get_users", (req, res) => {
  console.log("get users"); // 
  console.log("req.body :", req.body);
  const miles = 20;
  const meters = Math.floor(miles * 1609.34);
  const loc = req.body.loc;
  const userId = req.body.userId;
  
  User.find({ loc: {
     $near: {
       $geometry: {
          type: "Point" ,
          coordinates: loc
       },
       $maxDistance: meters,
       $minDistance: 0
     }
   },
   _id: { $ne: mongoose.Types.ObjectId(userId) }
  })
  .then((users) => {
    console.log("users : ", users); // <- not being written to console
    return res.json({ users })
  })
  .catch((err) => {
    console.log("Err  : ", err);
    return res.json({ error: "error" });
  });
});

0 个答案:

没有答案