Return only value of a field in mongodb mongoose



  • Cho e hỏi có cách nào return về 1 mảng chỉ bao gồm các value mà không bao gồm các key trong mongodb, mongoose không a?
    Dạng như: db.users.find(....) trả về
    [{ "text" : "Hey" },{ "text" : "Hi" },{ "text" : "Hello" },{ "text" : "yes" }]
    convert thành
    ["Hey","Hi","Hello","yes"]



  • Theo mình nghĩ là không, bạn có thể sử dụng lodash ( hay các lib khác ) để convert thành dạng mà bạn muốn.



  • Bạn có thể viết như sau

    Users.find({}).exec(function(err,users){
     if (err) return res.json(err);
     return users.map(
      function(user){
         if (user.hasOwnProperty('text')) return user.text;
         return null;
      });
    });
    


  • @CodeConCat PURE JS với những kiểu thế này làm được hết bạn ơi.



  • @hidemanvn thanks bạn m- đã thử và thành công.



  • @hidemanvn : Cơ bản là mình lười nên không thích VanillaJS lắm, dùng lib nhìn cho gọn đệp.



  • @CodeConCat Tùng cũng hay chủ yếu dùng lib, đặc biệt là lodash.
    Trường hợp của bạn ở trên dùng lodash.map cũng tương tự như vây


Log in to reply