Как можно найти в объекте у объекта массива в express - PullRequest
0 голосов
/ 22 апреля 2020

Для каждого поста у меня есть такая структура:

{
  "_id": "5dfd3b918937d40b98afd3f8",
  "user": "5deea38cfc84f42590e01942",
  "title": "test",
  "description": "description test",
  "category":
    {
      "0": "1",
      "1": "101"
    },
  "phone": "+1",
  "country": "USA",
  "city": "NY",
  "options": {
    "transaction_type": ""
  },
  "date": "2019-12-20T21:22:25.940Z",
}

В express Я использую нижний код для поиска постов по категории id, но не работаю, что я должен делать?

router.get("/category/:category", async (req, res) => {
  try {
    const posts = await Post.find({
      category: { $all: req.params.category }
    }).sort({ date: -1 });
    if (!posts) {
      return res.status(404).json({ msg: "Ads not found" });
    }
    const resultPosts = posts.slice(req.query.start, req.query.count);
    res.json(resultPosts);
  } catch (err) {
    console.error(err.message);
    if (err.kind === "ObjectId") {
      return res.status(404).json({ msg: "Ads not found" });
    }
    res.status(500).send("Server Error!");
  }
});
...