Фильтр хранимых процедур Cosmos db не работает

#javascript #azure-cosmosdb

#javascript #azure-cosmosdb

Вопрос:

У меня есть хранимая процедура в Cosmos db. В хранимую процедуру я передаю json и хочу восстановить некоторые поля из этого json. Это мой json:

     [
        {
            "DataStructs": [            
                {
                    "DataStructCells": [
                        {
                            "RowName": "Default",
                            "ColumnName": "Perfect",
                            "CellValue": "0"
                        },
                        {
                            "RowName": "Default",
                            "ColumnName": "percent100",
                            "CellValue": "0"
                        },
                        {
                            "RowName": "Default",
                            "ColumnName": "percent95_99",
                            "CellValue": "0.3"
                        }
                    ],
                    "DataStructName": "GRIDS",
                    "DataStructType": "table",
                    "RowNameIdentifier": "GRID Meaning"
                }
            ]
        },
        "id": "c2665ce6554c4d0ebd715fcc1facf608",
        "pk": "VCT"
    }
]
  

В этой строке кода восстанавливается значение:

 var val = result[0]["DataStructs"][0]["DataStructCells"][0]["CellValue"];
  

Но когда я использую filter, он не работает:

 var testFilter1 = result[0]["DataStructs"][0]["DataStructCells"].filter(function (s) {
                   return s.columnName === "percent95_99";
               });
console.log(JSON.stringify(testFilter1));
  

он возвращает пустой массив: []

Ответ №1:

JSON чувствителен к регистру. Попробуйте изменить регистр в вашем фильтре с:

 return s.columnName
  

Для

 return s.ColumnName