logic.js 1.22 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

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/contact-manager');

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();
    });
};

module.exports = { addContact, getContact }
//exports.toLower = lower