Как найти всех пользователей, кроме текущего пользователя с Mongoose - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь отобразить список пользователей, но вошедший в систему пользователь не должен видеть себя в списке. Я не могу сделать запрос, чтобы заставить работать всех пользователей, кроме текущего.

router.get("/", auth, async (req, res) => {
    try {
        const users = await User.find({ user: { $ne: req.user.id } }).select([
            "email",
            "username",
            "bio"
        ]);

        res.json(users);
    } catch (err) {
        console.error(err.message);
        res.status(500).send("Servor Error");
    }
});

module.exports = router;

Этот запрос ниже получает текущего пользователя и работает.

router.get("/", auth, async (req, res) => {
    try {
        const user = await User.findOne({
            user: req.user.id
        });

        if (!user) {
            return res.status(400).json({ msg: "There is no profile for this user" });
        }
        res.json(user);
    } catch (err) {
        console.error(err.message);
        res.status(500).send("Servor error");
    }
});

module.exports = router;

1 Ответ

1 голос
/ 10 января 2020

Вам необходимо использовать поле _id внутри фильтра запроса вместо user:

const users = await User.find({ _id: { $ne: req.user.id } }).select([
            "email",
            "username",
            "bio"
        ]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...