Javascript 如何从MongoDB中基于内部数组检索前三名文档

Javascript 如何从MongoDB中基于内部数组检索前三名文档,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,如何根据MongoDB的以下响应中所示的相似数组大小检索前三名文档?我正在使用Node.js 状态:正确, 数据:[ { 标签:[ 物联网 ], 文件URL:[ www.miraclesoft1.com, www.miraclesoft2.com ], 创建日期:2018-06-18T14:45:17.651Z, _id:5b27e57116e7821bd0b2a0f3, 标题:Ide集线器测试7, 描述:会见Aditi-亚马逊Alexa和AWS Lambda的协调人机器人会见Aditi-亚马逊

如何根据MongoDB的以下响应中所示的相似数组大小检索前三名文档?我正在使用Node.js

状态:正确, 数据:[ { 标签:[ 物联网 ], 文件URL:[ www.miraclesoft1.com, www.miraclesoft2.com ], 创建日期:2018-06-18T14:45:17.651Z, _id:5b27e57116e7821bd0b2a0f3, 标题:Ide集线器测试7, 描述:会见Aditi-亚马逊Alexa和AWS Lambda的协调人机器人会见Aditi-亚马逊Alexa和AWS Lambda的协调人机器人, 类别:发展, ideaStatus:错, createdByLoginId:Rkanumeta, createdByName:Rajesh Kumar Kanumetta, 例如:[], 评论:[], __v:0 }, { 标签:[ 物联网 ], 文件URL:[ www.miraclesoft1.com, www.miraclesoft2.com ], 创建日期:2018-06-18T14:45:17.651Z, _id:5b27e57516e7821bd0b2a0f4, 标题:Ide集线器测试8, 描述:会见Aditi-亚马逊Alexa和AWS Lambda的协调人机器人会见Aditi-亚马逊Alexa和AWS Lambda的协调人机器人, 类别:发展, ideaStatus:错, createdByLoginId:Rkanumeta, createdByName:Rajesh Kumar Kanumetta, 例如:[], 评论:[], __v:0 } 首先需要使用添加like数组的长度,然后可以轻松地使用长度获得前3个排序结果

db.collection.aggregate([
  {
    "$addFields": {
      "likeLength": {
        "$size": "$like"
      }
    }
  },
  {
    "$sort": {
      "likeLength": 1
    }
  },
  { "$limit": 3 }
])

谢谢安东尼·温兹莱特