Javascript 如何查询字段值最高的文档

Javascript 如何查询字段值最高的文档,javascript,arrays,mongodb,object,mongoose,Javascript,Arrays,Mongodb,Object,Mongoose,假设我有一套文件。为了简化这个过程,假设所有这些文档只有两个字段,name和id,如下所示 我想得到“id”值最大的文档。我可以将.find({})与一些参数一起使用吗?如果是这样的话,我无法确定哪个参数会为我找到某个字段的最大值 [ { name: "name1", id: 1 } { name: "name2", id: 2 } { name: "name1", id: 3 } { name: "name1"

假设我有一套文件。为了简化这个过程,假设所有这些文档只有两个字段,name和id,如下所示

我想得到“id”值最大的文档。我可以将.find({})与一些参数一起使用吗?如果是这样的话,我无法确定哪个参数会为我找到某个字段的最大值

[
  {
    name: "name1",
    id: 1
  }
  {
    name: "name2",
    id: 2
  }
  {
    name: "name1",
    id: 3
  }
  {
    name: "name1",
    id: 0
  }
]
let文档=[
{
名称:“名称1”,
身份证号码:1
},
{
名称:“名称2”,
身份证号码:2
},
{
名称:“名称1”,
身份证号码:3
},
{
名称:“名称1”,
身份证号码:0
}
];
设max=documents.sort((a,b)=>a.id>b.id?-1:1)[0]

控制台日志(最大值)首先,按降序排序,然后获取第一个:

const arr=[{
名称:“名称1”,
身份证号码:1
},
{
名称:“名称2”,
身份证号码:2
},
{
名称:“名称1”,
身份证号码:3
},
{
名称:“名称1”,
身份证号码:0
}
];
const[magest]=arr.sort({id:a},{id:b})=>b-a);

console.log(最大)
您可以对该数组进行排序,并使用函数
pop
获取具有最大
id
的对象

arr.slice() // This is to avoid a mutation on the original array.
让arr=[{name:“name1”,id:1},{name:“name2”,id:2},{name:“name1”,id:3},{name:“name1”,id:0}],
最大的=arr.slice().sort({id:a},{id:b})=>a-b.pop();
console.log(最大)
.as控制台包装{最小高度:100%;}