Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在mongodb中查找嵌入式嵌套数组的长度?_Java_Spring_Web Services_Hibernate_Mongodb - Fatal编程技术网

Java 如何在mongodb中查找嵌入式嵌套数组的长度?

Java 如何在mongodb中查找嵌入式嵌套数组的长度?,java,spring,web-services,hibernate,mongodb,Java,Spring,Web Services,Hibernate,Mongodb,如何在mongodb中查找嵌入式嵌套数组的长度?例如 我的mongoDB中有以下收藏。loc字段包含坐标字段,坐标字段是一个数组,它还包含另一个位于第0个索引中的数组。 如何查找loc.corrdinates[0]的长度? 我尝试使用聚合管道执行此操作,但它给出了语法错误: db.atolldata.aggregate([ {$project:{_id:0, fileName:1

如何在mongodb中查找嵌入式嵌套数组的长度?例如 我的mongoDB中有以下收藏。loc字段包含坐标字段,坐标字段是一个数组,它还包含另一个位于第0个索引中的数组。 如何查找loc.corrdinates[0]的长度? 我尝试使用聚合管道执行此操作,但它给出了语法错误:

db.atolldata.aggregate([
                        {$project:{_id:0,
                                   fileName:1,
                         sizeOfArray:{$size:"$loc.coordinates[0]"}}}]); 

这是我的收藏

db.mydb.findOne()

利用stage展平
坐标
数组,然后在
$project
stage中找到
大小

db.atolldata.aggregate([
{$unwind:"$loc.coordinates"},
{$project:{"_id":0,"fileName":1,
           "sizeOfArray":{$size:"$loc.coordinates"}}}
])

蝙蝠咆哮的答案很好,但你是真的在一个文档中还是在所有文档中获取坐标的长度?如果是前者,只需通过ID获取文档并在应用程序中计算其长度可能会更容易。
db.atolldata.aggregate([
{$unwind:"$loc.coordinates"},
{$project:{"_id":0,"fileName":1,
           "sizeOfArray":{$size:"$loc.coordinates"}}}
])