Skip to content

Latest commit

 

History

History
55 lines (47 loc) · 1.29 KB

mongo-status-example.md

File metadata and controls

55 lines (47 loc) · 1.29 KB

Step-by-step start with MongoDB.

  1. Install mongoose:
    npm i -s mongoose

  2. Define status model:

const mongoose = require('mongoose');

const Schema = mongoose.Schema({
    user_id: {
        type: String,
        require: true,
        unique: true,
    },
    status: {
        type: String,
    },
}, { collection: 'statuses' });

const Status = mongoose.model('Status', Schema);
  1. Define getStatus and setStatus methods:
const setStatus = (user_id, status) => {
    return new Promise((resolve, reject) => {
        Status.findOne({ user_id: id }).then(res => {
            if (res) {
                res.status = status;
                res.save(err => err ? reject(err) : resolve());
            } else {
                const newStatus = new Status({ user_id, status });
                newStatus.save(err => err ? reject(err) : resolve());
            }
        })
        .catch(err => reject(err));
    });
}

const getStatus = user_id => {
    return new Promise((resolve, reject) => {
        Status.findOne({ user_id })
        .then(res => resolve(res ? res.status : null))
        .catch(err => reject(err));
    });
}
  1. Use it in Ant:Messenger instance:
const Ant = new AntMessenger(token, { getStatus, setStatus })
  1. PROFIT! Ant:Messenger fully ready to use.