evanbene48Avatar border
TS
evanbene48
Tolong gan, conditional saya di ExpressJs gk bekerja dengan data dari MongoDB
Halo gan, saya mau tanya gan, sama minta tolong, seperti judul jadi saya ada codingan di ExpressJs, mau ngambil data thread sama users dari MongoDB

thread itu buat nyari data thread sesuai dengan threadIdnya (disini dia return cuma 1 data thread), kalau yang thread di dalamnya isi { "_id": "6044d0d8940c3b2494ce135d", "threadId":"A001}

kalau yang "users", itu buat nyari data user yang markedPostnya sama dengan thread yang dicari itu

markedPost user itu isinya :{"threadId": "6044d0d8940c3b2494ce135d", "threadId": "6044d0e0940c3b2494ce135e"}

Awalnya saya mau ngambil data pakai 

Code:
const thread = await Threads.findOne({threadId})

    const users = await Users.find({"markedPost.threadId":{
        $in:[thread._id]
    }})



Nah abis itu, saya mau pakai map buat ngecode di dalam const "users"
kaya dibawah ini
Code:
if(users.length > 0){
        await users.map(async user=>{
            const markpost = user.markedPost;
            let index = 0;

            for (let i = 0; i < markpost.length; i++) {
                console.log(markpost[i].threadId)
                console.log(thread._id)
                if(markpost[i].threadId === thread._id){
                    //this if didnt work at all, I dont know why, even when the threadId is the same with thread._id
                    console.log("found ya")
                    index = i;
                    break
                }
                console.log(markpost[i])
            }

            markpost.splice(index,1);

            await Users.findOneAndUpdate({
                userId:user.userId
            },{
                markedPost:[...markpost]
            }) 
           
        })
    }


problemnya, di bagian ifnya itu, dia gk bekerja gan, padahal kalau di console.log dia 
ada yang sama, (ini hasilnya dibawah gan)

markpost[i].threadId: 6044d0e0940c3b2494ce135e
thread._id : 6044d0e0940c3b2494ce135e
{
 
threadId: '6044d0e0940c3b2494ce135e',
 
date: 2021-03-07T13:15:45.713Z
}
markpost[i].threadId: 6044d0d8940c3b2494ce135d
thread._id : 6044d0e0940c3b2494ce135e
{
 
threadId: '6044d0d8940c3b2494ce135d',
 
date: 2021-03-07T13:15:47.967Z
}

Itu caranya gimana ya gan? Apakah bisa tolong bantu gan?

Solved : ternyata salah tipenya pas di conditional, kesalahan saya
Diubah oleh evanbene48 08-03-2021 01:49
viqririatraAvatar border
viqririatra memberi reputasi
1
927
3
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
Programmer ForumKASKUS Official
20.2KThread4.2KAnggota
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Ikuti KASKUS di
© 2023 KASKUS, PT Darta Media Indonesia. All rights reserved.