For WebStorm and
Intellij IDEA Ultimate

exports.getMenu(db) .then((menu) => { // Remove menu item menu.items.splice(menuIndex, 1); return db.menu.updateOne({}, {$set: {items: menu.items}}, {upsert: true}) .then(() => { return true; }); }) .catch(() => { return false; })
exports.getMenu(db) .then((menu) => { // update the order for(let i = 0; i < req.body.navId.length; i++){ _.find(menu.items, ['title', req.body.navId[i]]).order = i; } return db.menu.updateOne({}, {$set: {items: menu.items}}, {upsert: true}) .then(() => { return true; }); }) .catch(() => { return false; })
exports.getMenu(db) .then((menu) => { // find menu item and update it let menuIndex = _.findIndex(menu.items, ['title', req.body.navId]); menu.items[menuIndex].title = req.body.navMenu; menu.items[menuIndex].link = req.body.navLink; return db.menu.updateOne({}, {$set: {items: menu.items}}, {upsert: true}) .then(() => { return true; }); }) .catch(() => { return false; })
exports.getMenu(db) .then((menu) => { // if no menu present if(!menu){ menu = {}; menu.items = []; } let newNav = { title: req.body.navMenu, link: req.body.navLink, order: Object.keys(menu.items).length + 1 }; menu.items.push(newNav); return db.menu.updateOne({}, {$set: {items: menu.items}}, {upsert: true}) .then(() => { return true; }); }) .catch((err) => { console.log('Error creating new menu', err); return false; })