gpt4 book ai didi

java - 如何查找mongodb中嵌入嵌套数组的长度?

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:40 25 4
gpt4 key购买 nike

如何查找 mongodb 中嵌入嵌套数组的长度?例如,我的 mongoDB 中有以下集合。 loc 字段包含坐标字段,它是一个数组,并且它再次包含另一个位于第 0 个索引的数组。如何找到 loc.corrdinates[0] 的长度?我尝试使用聚合管道来做到这一点,但它给出了语法错误:

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

这是我的 Collection

db.mydb.findOne();

{
"_id" : ObjectId("54ccb36fe4b0ff85abfee006"),
"_class" : "com.inn.signaleye.model.AtollData",
"rsrp" : "-124",
"index" : 1,
"rgb" : [
192,
157,
0
],
"loc" : {
"type" : "Polygon",
"coordinates" : [
[
[
91.5254213240325,
26.225096
],
[
91.5254099392226,
26.225999
],
[
91.52591034644685,
26.226004
],
[
91.52592172739666,
26.225101
],
[
91.5254213240325,
26.225096
]
]
]
},
"fileName" : "RSRP_ZOne46N_20m_SCFT.shp"
}

最佳答案

利用$unwind阶段,压平坐标数组,然后在$project阶段找到size

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

关于java - 如何查找mongodb中嵌入嵌套数组的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28253590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com