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