Thắc mắc nodejs (newbie)



  • Chào mọi người.Em có đoạn code mong mọi người giúp em.
    Mình sài mongodb có 1 collections users { id, username }
    0_1479996903741_ASD.png
    Kết quả result rổng
    Cho mình hỏi làm sao in ra dc result chứa các user vừa dc insert và update.
    Cám ơn,



  • This post is deleted!


  • @huynhluan300 Có thể do bạn mới code NodeJS nên k rành khái niệm asynchronous. Code của bạn bị sai 2 chỗ:

    1. Bạn dùng _id khi find users. _id này nếu bạn k modify trong Mongoose Schema thì mặc định trong mongodb sẽ store dưới dạng là ObjectId. Trong khi UserIds của bạn là 1 array Number, do đó kết quả trả về sẽ k có.

    2. Giả sử bạn pass 1 array ObjectId trong User.find({}). Bạn muốn ghi ra kết quả ở console.log(result) thì console.log(result) phải để trong callback function:
      User.find({_id: {$in: UserIds}}).then((users) => {
      // Code của bạn
      // Ghi log ở đây
      console.log(result)
      })

    3. Nhớ ghi kết quả trong callback function.



  • Nếu bạn có quyền kiểm soát project (settings, configuration ...) thì nên dùng await/async. Code sẽ rõ hơn và sẽ giống như synchronous programming style hơn


Log in to reply