При попытке настроить использование геопространственного индекса в MongoDB, я сталкиваюсь с сообщением об ошибке, что массив местоположений не в правильном формате.
Это мой тестовый набор.
{
"_id" : ObjectId("4f037ac176d6fdab5b00000a"),
"CorporateId" : "XYZ12345",
"Places" : [
{
"Location" : {
"Longitude" : "50.0",
"Latitude" : "50.0"
},
"ValidFrom" : "2011-11-01 00:00:00",
"ValidTo" : "2021-12-31 00:00:00",
"itemCount" : "1"
}
]
}
После запуска этого кода.
db.test.ensureIndex({"Places.Location": "2d"});
Я получаю это сообщение об ошибке
объект местоположения ожидается, массив местоположений не в правильном формате
Я предполагаю, что Long / Latдолжен быть числом.В настоящее время это объект.
typeof db.test.Places.Location.Longitude -> Object
typeof db.test.Places.Location -> Object
Моя проблема в том, что, поскольку я все еще плохо знаком с MongoDB, я не знаю, как лучше всего подойти к этой проблеме.