MongoDB 4.2 返回数组中的前 n 个元素

问题描述 投票:0回答:1

在 Mongo 5.2 中,有一个名为 $firstN 的函数,与 mongo 4.2 类似,是否有任何替代函数或任何其他方法可以从给定数组中查找前 n 个元素?

样本文件

{
    "id": 1234,
    "products": [
      {
        "productId": 111,
        "path": "H"
      },
      {
        "productId": 112,
        "path": "H"
      },
      {
        "productId": 113,
        "path": "P"
      }
    ]
  }

我想返回产品数组中的前 n 个产品对象

使用mong 5.2我可以解决这个问题mongoplayground

mongodb aggregation-framework
1个回答
1
投票

使用具有类似功能的

$slice
运算符来获取第 n 个元素。

db.collection.aggregate([
  {
    "$project": {
      "firstFiveProducts": {
        "$slice": [
          "$products",
          5
        ]
      }
    }
  }
])

演示@MongoPlayground

© www.soinside.com 2019 - 2024. All rights reserved.