Я пишу REST API с использованием NodeJS, Express, Mongoose, Ramda.Мне нужно подготовить ответ для клиента с помощью утилит Ramda, но я столкнулся с некоторыми проблемами:
const R = require('ramda');
router.put('/:id/update', (req, res) => {
User.findOneAndUpdate(
{ '_id': req.params.id },
{ $set: { a: 'a' }},
{},
(err, newUser) => {
if (err) {
res.status(500).send(responseCodes.updateUserError());
} else {
const exemplaryObj = { a: 'a', email: 'bbb' };
console.log(
newUser, // { email: 'aaa', password: 'bbb' }
R.omit(['email', 'password'], newUser), // { email: 'aaa', password: 'bbb' }
R.omit(['email', 'password'], exemplaryObj) // { a: 'a' }
)
}
}
);
});
Почему omit
(или другие методы, такие как merge
) у Ramda не работают должным образом с объектами, возвращаемымиОбратные вызовы запроса Mongoose?