master^2
Bhaskar 9 months ago
parent 56ee1db55b
commit c34c3b41c9

@ -631,40 +631,43 @@ exports.addDepartment = async (request, reply) => {
}
};
const getLocationsByZone = async (zone) => {
try {
const result = await City.aggregate([
{
$match: {
zone: { $regex: `^${zone}$`, $options: "i" }, // Case-insensitive match for the zone
},
const getLocationsByZone = async (zone) => {
try {
const result = await City.aggregate([
{
$match: {
zone: { $regex: `^${zone}$`, $options: "i" }, // Case-insensitive match for the zone
},
{
$unwind: "$location" // Unwind the location field if it is an array
},
{
$unwind: "$location" // Unwind the location field if it is an array
},
{
$group: {
_id: "$zone", // Group by zone
locations: {
$addToSet: {
$toUpper: { $trim: { input: "$location" } } // Convert to uppercase and trim whitespace
}
},
},
{
$group: {
_id: "$zone", // Group by zone
locations: { $addToSet: { $toUpper: "$location" } }, // Collect unique locations in uppercase
},
},
{
$project: {
_id: 0, // Exclude the _id field
zone: "$_id", // Include zone
locations: 1 // Just return the locations field as is
},
},
{
$project: {
_id: 0, // Exclude the _id field
zone: "$_id", // Include zone
locations: 1 // Return locations
},
]);
return result;
} catch (err) {
console.error(err);
throw new Error("Error fetching locations.");
}
};
},
]);
return result;
} catch (err) {
console.error(err);
throw new Error("Error fetching locations.");
}
};
exports.getLocationsByZone = async (req, reply) => {

Loading…
Cancel
Save