Код ниже работает правильно.Тем не менее, как я могу улучшить его скорость, эффективность и сложность времени
Предположим, у меня есть 1000 записей о стране, штате и городе в коллекции MongoDB.Я хочу получить все данные о городе, сопоставляя идентификатор страны и идентификатор штата из коллекции MongoDB.
// @route GET citylist/:countryid/:stateid
// @desc get all the city from mongodb for countryid and stateid
router.get("/citylist/:countryid/:stateid", (req, res) => {
const isValidCountryid = mongoose.Types.ObjectId.isValid( req.params.countryid);
const isValidStateid = mongoose.Types.ObjectId.isValid(req.params.stateid);
if (isValidCountryid && isValidStateid) {
CityModel.find({
country_id: req.params.countryid,
state_id: req.params.stateid
})
.then(cities => {
if (!cities || !cities[0]) {
return res.status(404).json({ msg: "City not found" });
} else {
res.json(cities);
}
})
.catch(error => res.status(500).send(error));
} else {
res.json({ msg: "Country or State Id is not valid" });
}
});