【问题标题】:I am looking to list my mongodb collection data by a specific field我希望按特定字段列出我的 mongodb 集合数据
【发布时间】:2022-11-12 00:40:34
【问题描述】:

我希望从我的 mongodb 数据库中创建一个列表,该列表将由“用户名”字段的特定字段映射。

我在这里读到,为每个用户分配一个集合来使用 mongodb 进行命名空间限制是不明智的,所以我试图按用户名字段对我的集合进行排序

我的 JSON 对象看起来像这样

集合“用户”

{
    "_id": {
        "$oid": "636a904602fa5ea137276767"
    },
    "project_name": "project01",
    "username": "user01",
    "__v": {
        "$numberInt": "0"
    }
}

这是我的 Next.js 页面文件

import dbConnect from '../../lib/dbConnect'
import User from '../models/User'

export default function Page({ users }) {
    return (
        <>
            {users.map((user) => (
                <div key={user._id}>
                    <span>username: {user.username} project_name: {user.project_name}</span>
                </div>
            ))}
        </>
    );
}

export async function getServerSideProps() {

    await dbConnect()

    const result = await User.find({})
    const users = result.map((doc) => {
        const user = doc.toObject()
        user._id = user._id.toString()
        return user
    })

    return { props: { users: users } }
}

结果数据如下所示

username: user01 project_name: project01
username: user02 project_name: project02
username: user01 project_name: project03
username: user03 project_name: project04
username: user02 project_name: project05
username: user03 project_name: project06
username: user02 project_name: project07
username: user02 project_name: project08
username: user02 project_name: project09
username: user01 project_name: project10

如何对这些数据进行排序,使其仅显示 user01 的数据而不显示其他用户? 我需要它看起来像这样

username: user01 project_name: project01
username: user01 project_name: project03
username: user01 project_name: project10

对此的任何帮助都会很棒......在此先感谢。

【问题讨论】:

  • 我的回答对你有用吗?如果有,请接受。谢谢

标签: javascript reactjs mongodb mongoose next.js


【解决方案1】:

更改find(...) 以接受所需的过滤器。

const specificUserName = 'user01' // Set this wherever
const result = await User.find({ username: specificUserName })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    相关资源
    最近更新 更多