从Javascript对象中删除值(Remove value from Javascript object)

编程入门 行业动态 更新时间:2024-10-24 04:47:32
从Javascript对象中删除值(Remove value from Javascript object)

所以我从猫鼬那得到这个东西,这是一个用户。 我想删除哈希密码字段,但我似乎无法删除它。

试过以下几点:

apiRoutes.get('/user/:id', function(req, res, next) {
  User.findById(req.params.id, function(err, post) {
    if (err) return next(err);
    delete post['password'];
    res.json(post);
  });
});
 

当我调试/ console.log它打印出密码的对象时,肯定有密码字段。

编辑:解决它通过传递选项到猫鼬调用:

User.findById(req.params.id, '-password', function(err, post) { /* ... */ });

但仍不能解释为什么删除不起作用?

So I have this object I get from mongoose, it's a user. I want to delete the hashed password field but I can't seem te remove it.

Tried the following:

apiRoutes.get('/user/:id', function(req, res, next) {
  User.findById(req.params.id, function(err, post) {
    if (err) return next(err);
    delete post['password'];
    res.json(post);
  });
});
 

There's definitely a password field there, when I debug/console.log the object it prints out the password.

EDIT: Solved it by passing an option to the mongoose call:

User.findById(req.params.id, '-password', function(err, post) { /* ... */ });

But still doesn't explain why delete doesn't work?

最满意答案

它看起来像猫鼬返回的对象不是一个实际的JavaScript对象。

我必须将它转换为一个对象才能使用它的基本功能:

apiRoutes.get('/user/:id', function (req, res, next) { User.findById(req.params.id, function (err, post) { if (err) return next(err); post.toObject(); delete post.password; res.json(post); });

It seems like the object that mongoose returned wasn't an actual javascript object.

I had to convert it to an object in order to use basic functions on it:

apiRoutes.get('/user/:id', function (req, res, next) { User.findById(req.params.id, function (err, post) { if (err) return next(err); post.toObject(); delete post.password; res.json(post); });

更多推荐

本文发布于:2023-07-24 10:48:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1244958.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:象中   Javascript   object   Remove

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!