Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB-按自定义优先级排序_Mongodb_Sorting_Mongoose - Fatal编程技术网

MongoDB-按自定义优先级排序

MongoDB-按自定义优先级排序,mongodb,sorting,mongoose,Mongodb,Sorting,Mongoose,我目前正在使用mongoose开发一个医生目录web应用程序。它列出了数据库中的医生,包括他们的姓名、专业、等级和位置 选择医生后,它会将您带到包含其信息的详细信息页面。然而,这是我一直坚持的部分。像许多其他网站一样,总是有一个关于相关/类似结果的部分。在这种情况下,将有一个具有类似医生的部门。我希望他们被列为优先事项: 专业等于当前结果的专业 位置等于当前结果的位置 基本上就是这样。我知道如何查询与当前结果具有相同专业和位置的医生,但mongoose中的.sort()函数似乎仅限于按升序和降序

我目前正在使用mongoose开发一个医生目录web应用程序。它列出了数据库中的医生,包括他们的姓名、专业、等级和位置

选择医生后,它会将您带到包含其信息的详细信息页面。然而,这是我一直坚持的部分。像许多其他网站一样,总是有一个关于相关/类似结果的部分。在这种情况下,将有一个具有类似医生的部门。我希望他们被列为优先事项:

  • 专业等于当前结果的专业
  • 位置等于当前结果的位置
  • 基本上就是这样。我知道如何查询与当前结果具有相同专业和位置的医生,但mongoose中的.sort()函数似乎仅限于按升序和降序排序,在这种情况下不起作用。我如何使用此自定义优先级进行排序

    编辑:

    示例-

       {name: "Bill", specialty: "Internal Medicine", location: "San Francisco"...}
       {name: "Joe", specialty: "Cardiology", location: "San Francisco"...}
       {name: "Tom", specialty: "Internal Medicine", location: "San Jose"...}
       {name: "Jess", specialty: "Cardiology", location: "San Jose"...}
    
    因此,如果我们在比尔的详细信息页面上,相关结果应按以下顺序排列:汤姆、乔,然后是杰西


    任何帮助都将不胜感激!谢谢。

    您基本上希望对计算值进行“排名/排序”。为此,将计算结果用作新字段,然后使用新的“计算”值。理想情况下,您可以在创建数据时“存储”计算。但你的问题不清楚你的实际情况。请详细说明样本数据和预期结果。@NeilLunn感谢您回复我。我在上面添加了示例数据,但您并没有真正解释您的“输入”。我认为“当前结果”是指类似于
    “心脏病学”
    “圣何塞”
    。在其中,使用“逻辑”聚合运算符(如在中)返回一个“数字”值,对其进行“排序”。那里有一大堆链接。我建议你去看看他们,看看运营商是怎么做的。