function toLower(v) { return v.toLowerCase(); } const mongoose = require('mongoose'); //const assert = require('assert'); mongoose.Promise = global.Promise; const db = mongoose.connect('mongodb://localhost:27017/contactdb'); // Define a contact Schema 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('เพิ่ม รายการติดต่อใหม่ สำเร็จ'); db.disconnect(); }); }; const getContact = (name) => { // Define search criteria. The search here is case-insensitive and inexact. 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} รายการ`); db.disconnect(); }); }; // Export all methods module.exports = { addContact, getContact }; //exports.toLower = lower