Node js,适用于大型文档的Mongodb聚合功能

时间:2019-10-21 21:48:44

标签: node.js mongodb

我目前正在从事一个项目,该项目需要我提出一个有效的算法,因为输入的数量正在快速增加! 我试图用node js调用mongodb以获得一些数据!当接收到数据时,我试图根据用户输入对每个数据进行排名,然后将其显示给用户!我试图在节点js中执行此操作,并且由于数据量太大,我遇到了超时错误,因为我必须一次根据用户答案从mongo中获取数据,然后再次根据节点中用户的答案对数据库进行排名,所以我必须两次浏览此数据!这是数据的结构:

{
    "specialty": {
        "Anxiety":{
            "All":20
            none:0
        },
        "Depression":{
            "All":20
            "none":0
        }
        "Chronic Pain" :{
            "All":20
        }
    },
    "institution":{ 
        value:["value1","val2"]
        score:30
     },
    "religion": { 
        value:["value1","val2"]
        score:30
     },
    "income": { 
        value:["value1","val2"]
        score:30
     },
    "agegroup": { 
        value:["value1","val2"]
        score:20
     },
    "gender": { 
        value:["male"]
        score:10
     }
     "location":{
        lon:180
        lat:0
     }
}

所以我需要做的是,如果用户选择“专业”和“全部”,那么得分是20,如果他们还选择了“抑郁”和“无”,那么得分现在是40!如果用户还在机构字段中选择“ val1”,则得分将为70!我需要编写一个带有聚合管道的查询,该查询求和每个数据的所有分数,并将其发送给node!  我不确定如何完成此操作,我将不胜感激!

0 个答案:

没有答案