在 Mongo 的 NextJs 中显示 createAt 日期时出错

问题描述 投票:0回答:1

当我尝试记录整个 MongoDb 表时,它会记录其中的所有内容。但是,当我尝试单独记录 user.createdAt 时,它会记录未定义。 当我使用 user.createdAt.toString() 时,它显示错误(toString 表示未定义)

使用 Date(user.createdAt) 时,它工作正常,但新问题是 我有 6 个用户详细信息。 其中只有 1 个具有 createAt 字段及其起息日期。但它为 6 个用户记录了 6 次和相同的日期,但另一个用户甚至没有 createAt 字段。我正在使用 nextjs 项目和数组映射将其呈现在用户表中

const users = await fetchUsers();

console.log(users);


{users.map(user => (

    <tr key={user.id}>

        <td>

            <div className={styles.user}>

                <Image src={user.img || "/noavatar.png"} alt="userAvatar" width={40} height={40} className={styles.userImage} />

                {user.username}

            </div>

        </td>

        <td>{user.email}</td>

        <td>{user.createdAt?.toString().slice(4,16)}</td>

        <td>{user.isAdmin ? "Admin" : "Client"}</td>

        <td>{user.isActive ? "Active" : "Passive"}</td>

        <td>

            <div className={styles.buttons}>

                <Link href={`/dashboard/users/${user.id}`}>

                    <button className={`${styles.button} ${styles.view}`} >VIEW</button>

                </Link>

                <Link href="/">

                    <button className={`${styles.button} ${styles.delete}`} >DELETE</button>

                </Link>

            </div>

        </td>

    </tr>

))}

我尝试使用条件记录,但它就像某种未定义的数据

javascript arrays mongodb date next.js
1个回答
0
投票

尝试使用此代码:

{users.map(user => {

返回(

<tr key={user.id}>

    <td>

        <div className={styles.user}>

            <Image src={user.img || "/noavatar.png"} alt="userAvatar" width={40} height={40} className={styles.userImage} />

            {user.username}

        </div>

    </td>

    <td>{user.email}</td>

    <td>{user.createdAt?.toString().slice(4,16)}</td>

    <td>{user.isAdmin ? "Admin" : "Client"}</td>

    <td>{user.isActive ? "Active" : "Passive"}</td>

    <td>

        <div className={styles.buttons}>

            <Link href={`/dashboard/users/${user.id}`}>

                <button className={`${styles.button} ${styles.view}`} >VIEW</button>

            </Link>

            <Link href="/">

                <button className={`${styles.button} ${styles.delete}`} >DELETE</button>

            </Link>

        </div>

    </td>

</tr>

)})

}

© www.soinside.com 2019 - 2024. All rights reserved.