簡體   English   中英

從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);
  });
});

絕對有一個密碼字段,當我調試/控制台.log對象時,它會打印出密碼。

編輯:通過將選項傳遞給貓鼬調用來解決:

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

但是仍然不能解釋為什么刪除不起作用?

似乎貓鼬返回的對象不是實際的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);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM