Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Tôi là người mới bắt đầu và tôi muốn tạo chức năng theo dõi/hủy theo dõi trong ứng dụng của mình.

router.put('/user/:id/follow', auth.verifyuser, (req, res)=>{

user.findById(req.params.id)
.then((otherUser)=>{
    if(otherUser.followers.includes(req.userInfo._id)){
       
        return res.json({message: "Already following user"});
    }
    req.userInfo.updateOne({$push: {followings: req.params.id}});
    otherUser.updateOne({ $push: {followers: req.userInfo._id}});
    res.json({message: "following user"});
    console.log(otherUser.followers);

})
.catch((e)=>{
    res.json(e);
})})

Khi chạy mã, nó sẽ nhận được thông báo "sau người dùng" nhưng không thêm vào cơ sở dữ liệu, tức là MongoDB (tôi đang sử dụng Mern Stack)

Có vẻ như khối mã này không thực thi.

req.userInfo.updateOne({$push: {followings: req.params.id}});
otherUser.updateOne({ $push: {followers: req.userInfo._id}});

tôi làm gì sai ở đây?

hỏi ngày 10 tháng 2 lúc 18:09Feb 10 at 18:09

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Tôi nghĩ đó là bởi vì req.userinfo và Otheruser là một đối tượng Mongo bất biến. Thay vào đó hãy thử điều này (giả sử "người dùng" là đối tượng mô hình của bạn):

user.updateOne(
   { _id:  req.userInfo._id},
   {$push: {followings: req.params.id}
)

  user.updateOne(
       { _id:  otherUser._id},
       { $push: {followers: req.userInfo._id}}
    )

Lưu ý: Trong khi so sánh _ID Vui lòng kiểm tra xem bạn đang lưu trữ dưới dạng ObjectID hoặc String.

Để bạn tham khảo: So sánh Mongoose _id và String

Đã trả lời ngày 10 tháng 2 lúc 18:33Feb 10 at 18:33

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

1

Chà, điều này có vẻ hoạt động

router.put('/user/:id/follow', auth.verifyuser, (req, res)=>{

user.findById(req.params.id)
.then((otherUser)=>{
    if(!otherUser.followers.includes(req.userInfo._id)){
        Promise.all([
            user.updateOne({_id:req.userInfo._id}, {$push: {followings: req.params.id}}),
            user.updateOne({_id: otherUser._id},{$push: {followers: req.userInfo._id}})
        ]).then(()=>{
            res.json({message: "following user"});
        })
        .catch((e)=>{
            res.json(e);
        }); 
    }else{
        return res.json({message: "Already following user"});
    }
})
});

Nhưng sẽ tốt hơn nếu ai đó giải thích những gì đã xảy ra trước đây, như tôi đã nói tôi là người mới bắt đầu và sẽ đánh giá cao phản hồi.

Đã trả lời ngày 11 tháng 2 lúc 8:47Feb 11 at 8:47

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn dùng promise.all JavaScript

Nội dung bài viếtVideo học lập trình mỗi ngàyĐầu tiên nếu bạn chưa biết về Promise.all thì vui lòng qua đọc qua những bài viết trước đó Tổng hợp bài ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn nodejs express

Là lập trình viên, chúng ta chắc hẳn biết javascript là một ngôn ngữ client, nhưng kể từ khi Node.js ra đời, khái niệm đã đó đã thay đổi. Bài viết sẽ giới ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Cài đặt nodejs vào visual studio code

Node.js là một nền tảng để xây dựng các ứng dụng máy chủ nhanh và có thể mở rộng bằng JavaScript. Node.js là runtime và npm là Package Manager để hỗ trợ ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

How do i get data from mysql node js?

Home » Node » How to Fetch / Show Data from MySQL Database in Node JsNode Get and Show data from MySQL tutorial; When it comes to managing data, MySQL ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn createreadstream nodejs

Streams trong NodeJS là gì ?Streamstrong NodeJS là một collections của dữ liệu giống như strings hay arrays, sự khác nhau duy nhất đó là các streams không tồn tại ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn share khóa học nodejs

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người. Là ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn pipeline in nodejs

Chào các bạn! Nhân dịp lễ nô-en, chúc các bạn có những phút giây hạnh phúc bên người thân và gia đình. Nối tiếp trong loạt bài giới thiệu về Node.js, trong ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn transform stream nodejs

Streams trong NodeJS là gì ?Streamstrong NodeJS là một collections của dữ liệu giống như strings hay arrays, sự khác nhau duy nhất đó là các streams không tồn tại ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn dùng mongo cloud python

Với những tín đồ của NoSQL thì MongoDB là một sự lựa chọn tuyệt vời, và trong thời đại mà ai ai cũng đòi đi đua đưa thì chẳng lý do gì mà chúng ta không ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn read file json nodejs

Nội dung bài viếtVideo học lập trình mỗi ngàyJSON NodeJS (JavaScript Object Notation) được sử dụng rộng rãi trong việc chia sẻ dữ liệu với nhiều ngôn ngữ khác ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn dùng astnc JavaScript

Trong một thời gian rất dài, chúng ta phải dựa vào callbacks để làm việc với các đoạn code bất đồng bộ trong javascript. Kết quả là, rất nhiều người trong ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn dùng strong node trong PHP

Nội dung1 Cài đặt Composer2 Cài đặt DNode3 Sử dụng DNode3.1 Gọi hàm php từ node.js3.2 DNode gọi node module khácĐể kết nối giữa nodejs và php, chúng ta sử dụng ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn crypto nodejs

Module Crypto Node.js hỗ trợ mật mã. Nó cung cấp chức năng mật mã bao gồm một tập hợp các trình bao bọc cho các hàm băm HMAC, mật mã, giải mã, ký và xác minh ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn javascript patterns

Pattern hay Design Pattern là gì? Theo Wiki, Design Pattern là Mẫu thiết kế. Một mẫu thiết kế phần mềm đã được các chuyên gia thiết kế và chứng minh rằng nó ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn nested try catch python

Try-catch blocks in PHP can be nested up to any desired levels and are handled in reverse order of appearance i.e. innermost exceptions are handled first. Nested blocks can be useful in case a block ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn start server nodejs

Đã đăng vào thg 6 1, 2019 6:13 SA 2 phút đọc Series NodeJS căn bản cho người mới bắt đầuKhi chạy server, NodeJS sẽ lấy thông từ file có tên được định nghĩa ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn mongodb followers/following

hey I was getting the same problem I figured it out how it can be done. I have two way of writing the code choose as per your choice.UserSchema var UserSchema = new Schema({ name:{ ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn buffer in javascript

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người. Là ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn pipeline in nodejs

Chào các bạn! Nhân dịp lễ nô-en, chúc các bạn có những phút giây hạnh phúc bên người thân và gia đình. Nối tiếp trong loạt bài giới thiệu về Node.js, trong ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Cài nodejs trên visual code

Node.js là một nền tảng để xây dựng các ứng dụng máy chủ nhanh và có thể mở rộng bằng JavaScript. Node.js là runtime và npm là Package Manager để hỗ trợ ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

How do i get data from mysql node js?

Home » Node » How to Fetch / Show Data from MySQL Database in Node JsNode Get and Show data from MySQL tutorial; When it comes to managing data, MySQL ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn createreadstream nodejs

Streams trong NodeJS là gì ?Streamstrong NodeJS là một collections của dữ liệu giống như strings hay arrays, sự khác nhau duy nhất đó là các streams không tồn tại ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn share khóa học nodejs

[giaban]0đ[/giaban][tinhtrang]Còn hàng[/tinhtrang][chitiet]Share full Combo 8 khóa học Backend - NodeJS Foundation - Hướng dẫn viết API cho dự án thực tế trên CyberlearnGiới ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Cài đặt nodejs window react

Cài đặt Nodejs và NPM trên WindowĐầu tiên các bạn vào trang chủ của NodeJS để tải. Họ thường giới thiệu 2 phiên bản mới nhất. Các bạn nên chọn ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn nodejs rate limiting

Chào các bạn, lại là mình đây. Hôm nay mình xin giới thiệu tới các bạn một kỹ thuật rất hay ho và hữu ích đó là Rate Limiting1. Rate Limiting là gì?Rate limiting ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn google pubsub nodejs

Stay organized with collections Save and categorize content based on your preferences. Cloud Pub/Sub is a fully-managed real-time messaging service that allows you to send and receive messages ...

Hướng dẫn follow/unfollow nodejs - theo dõi / hủy theo dõi nodejs

Hướng dẫn exceljs example

Chuyển đến nội dung chínhTrình duyệt này không còn được hỗ trợ nữa.Nội dung chínhExcel.Comment classIn this articleProperty Details authorEmail authorName contentType ...