如何从 mongodb 数组中 return 切片元素?

how to return sliced element from an mongodb array?

我有一个大小为 250 MB 的数组中的数据列表。每次查询时,即使我正在切片数据,也会下载完整的 250 个数据。 这是我的代码

DomainsApi.findOne({}, {auction_list:{$slice:[10, 20]}}, (err, doc)=>{
  if(doc){
    console.log(doc)
  }
})

我只想要 auction_list 数组中的 10 个项目,但它不起作用。每次都在下载完整的 250 MB 数据,占用我的带宽和时间。

我查看了 mongodb 文档,但这对我没有帮助。

我怎样才能做到这一点?我在节点 js 上并使用 mongodb atlas 免费帐户。 提前致谢

我建议你使用聚合。请检查:

db.collection.aggregate([
  {
    $project: {
      _id: 0,
      slicedArray: {
        $slice: [
          "$auction_list",
          10
        ]
      }
    }
  }
])

Playground