MongoDB如何使用Java驱动程序计算数组元素

MongoDB如何使用Java驱动程序计算数组元素,java,arrays,mongodb,Java,Arrays,Mongodb,我需要我的应用程序使用Java驱动程序3.8计算文档中数组foos的大小。我知道我可以用贝壳做这个 db.collection.aggregate( [ { $match: { _id: 123456789 } }, { $project: { count: { $size: "$foos" } } } ] ) 但我不知道如何使用java实现这一点,因为我找

我需要我的应用程序使用Java驱动程序3.8计算文档中数组
foos
的大小。我知道我可以用贝壳做这个

db.collection.aggregate(
   [
      {
         $match: { _id: 123456789 }
      },
      {
         $project: {
            count: { $size: "$foos" }
         }
      }
   ]
)

但我不知道如何使用java实现这一点,因为我找到的唯一生成
$size
运算符的方法是
Filters.size(String fieldName,int size)
,它用于查找数组
fieldName
具有size
size
的文档。我在com.mongodb.client.model包中搜索了一下,但没有找到任何东西来回答我的问题。

否在java驱动程序中没有帮助程序来帮助
$project
阶段的聚合表达式

试一试


您可以创建一个新字段,将数组的大小放入其中,并将其用于计数或排序

使用“addFields”java助手

addFields(new Field("productsCount",
            new Document("$size", "$products")));
在哪里

  • productsCount”是新字段的名称
  • 产品””是数组
  • $size”是MongoDB聚合
  • addFields(new Field("productsCount",
                new Document("$size", "$products")));