function toLower(v) { return v.toLowerCase(); } const mongoose = require('mongoose'); //const assert = require('assert'); mongoose.Promise = global.Promise; const contactSchema = mongoose.Schema({ fname: { type: String, set: toLower}, lname: { type: String, set: toLower }, phone: { type: String, set: toLower }, email: { type: String, set: toLower } }); const Contact = mongoose.model('Contact', contactSchema); const addContact = (contact) => { Contact.create(contact, (err) => { assert.equal(null, err); console.info('New contact added'); db.disconnect(); }); }; const getContact = (name) => { // Define search criteria const search = new RegExp(name, 'i'); Contact.find({$or: [{fname: search }, {lname: search }]}) .exec((err, contact) => { assert.equal(null, err); console.info(contact); console.info(`${contact.length} matches`); db.disconnect(); }); }; //exports.toLower = lower module.exports = { addContact, getContact };