最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

节点JS两个收集结果

运维笔记admin13浏览0评论

节点JS两个收集结果

节点JS两个收集结果

我有两个表一个是项目,另一个是里程碑,我需要的MongoDB查询如何获取以下结果:

{
    "result": "success",
    "data": {
        "projects": [{
            "projectName": "p1",
            "projectId": "1dewdadas",
            "milestones": [{
                "milestoneId": "a1",
                "milestoneName": "Create UI"
            },
            {
                "milestoneId": "a3",
                "milestoneName": "Create DB and API "
            },
            {
                "milestoneId": "a2",
                "milestoneName": "Testing"
            }],
            "people": [{
                "empId": "1",
                "name": "shashi"
            },
            {
                "empId": "2",
                "name": "ganesh"
            },
            {
                "empId": "3",
                "name": "gaurav"
            }]
        },
        {
            "projectName": "p2",
            "projectId": "231wda231",
            "milestones": [{
                "milestoneId": "a1",
                "milestoneName": "milestone 6"
            },
            {
                "milestoneId": "a3",
                "milestoneName": "milestone 7"
            },
            {
                "milestoneId": "a2",
                "milestoneName": "milestone 8"
            }],
            "people": [{
                "empId": "1",
                "name": "user1"
            },
            {
                "empId": "2",
                "name": "user2"
            },
            {
                "empId": "3",
                "name": "user3"
            }]
        },
        {
            "projectName": "p3",
            "projectId": "dfsdfsdf",
            "milestones": [{
                "milestoneId": "a1",
                "milestoneName": "milestone 1"
            },
            {
                "milestoneId": "a3",
                "milestoneName": "milestone 2"
            },
            {
                "milestoneId": "a2",
                "milestoneName": "milestone 3"
            }],
            "people": [{
                "empId": "1",
                "name": "user 4"
            },
            {
                "empId": "2",
                "name": "user 5"
            },
            {
                "empId": "3",
                "name": "user 6"
            }]
        }]
    }
}
回答如下:

我用mongoose MongoDB的连接。

您可以定义项目模型这样的

const projectSchema = new mongoose.Schema({
projectName: {
    type: String,
    required: true
},
projectId:{
    type: String,
    required: true
},
milestones:[{
    type: mongoose.Types.ObjectId,
    ref: 'milestones'
}],
people:[{
    type: mongoose.Types.ObjectId,
    ref: 'people'
}]

});

const Project = mongoose.model('projects', projectSchema);

和使用

projects = Project.find({}).populate('milestones','people);

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论