У меня есть коллекция, в которой хранятся документы, подобные приведенному ниже.
{
"_id" : "MG-3100104-B4AC7195950A471D9340DED6AE8EEE64",
"properties" : {
"NUM_AREA" : 57.78,
"NUM_MODULO" : 1.44,
"TIPO_IMOVE" : "IRU",
"SITUACAO" : "AT",
},
"geometry" : {
"type" : "Polygon",
"coordinates" : [
[
[
-47.33079937601371,
-18.36932578264851
],
[
-47.3308262982889,
-18.369403647612213
],
[
-47.331338496081,
-18.36988449551799
]
]
]
}
}
У меня нет никакого контроля над данными внутри properties
и geometry
, они могут иметь переменную глубину и data.
Но мне нужно вернуть приложению properties
и geometry
в виде строки, как показано ниже:
{
"_id" : "MG-3100104-B4AC7195950A471D9340DED6AE8EEE64",
"properties" : "{ 'NUM_AREA' : 57.78, 'NUM_MODULO' : 1.44, 'TIPO_IMOVE' : 'IRU', 'SITUACAO' : 'AT', }",
"geometry" : "{ 'type' : 'Polygon', 'coordinates' : [ [ [ -47.33079937601371, -18.36932578264851 ], [ -47.3308262982889, -18.369403647612213 ], [ -47.331338496081, -18.36988449551799 ] ] ] }"
}
В псевдокоде я бы увидел некоторые агрегирование запросов, например:
db.getCollection("collection").aggregate(
[
{
"$project" : {
"_id" : 1,
"properties" : { $stringify: "$properties" },
"geometry" : { $stringify: "$geometry" }
}
}
]
);
ВАЖНО: Мой запрос должен быть конвейером агрегации MongoDB.