Pengaturan

Gambar

Lainnya

Tentang KASKUS

Pusat Bantuan

Hubungi Kami

KASKUS Plus

© 2024 KASKUS, PT Darta Media Indonesia. All rights reserved

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
928
3
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Urutan
Terbaru
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan