#node.js #reactjs #mongodb
#node.js #reactjs #mongodb
Вопрос:
Я хотел бы знать, как бы вы выбрали только определенные данные для отправки в мой штат, поскольку на данный момент он отправляет все, и мне нужны только такие вещи, как ‘firstname’, ‘lastname’, email и т.д.
Вот что у меня есть для моего внутреннего вызова в NodeJS:
// @route GET api/users
// @desc Get Users
// @access Public
router.get('/', async (req, res) => {
try {
const users = await Users.find()
.limit(1500)
.populate('type_id', ['description'])
.populate({
path: 'squad',
select: ['squad_id', 'squad_name'],
populate: {
path: 'consultant',
select: ['firstname', 'lastname'],
},
})
.populate({
path: 'agent_id',
select: ['firstname', 'lastname'],
});
res.json(users);
} catch (error) {
console.error(error.message);
res.status(500).send('Server Error');
}
});
Ответ №1:
Если я хорошо понял ваш вопрос, вы можете использовать select()
метод from mongoose
(я предполагаю, что вы используете mongoose для просмотра вашего кода).
select()
работает так же, как и в этом примере.
Вы запускаете запрос, а затем выбираете, какие поля вы хотите включить в ответ.
Правильный способ его кодирования заключается в следующем:
query.select({ field1: 1, field2: 1 });
//or
query.select('-field1');
//and many other ways
Документы здесь
На ваш вопрос, что-то вроде:
var query = await model.find().YourMethodsHere().select({firstname:1, lastname:1, email:1})