1.2.5 • Published 5 years ago
ohana-node-orm v1.2.5
NOTE: Ohana is a work in progress and this README will update as progress is made
How to use it?
- Install from npm
    npm install ohana-node-orm- Setup the connection
const {connection} = require('ohana-node-orm');
const connectionParams = {
    host: process.env.SAP_HDB_URL,
    port: process.env.SAP_HDB_PORT,
    user: process.env.SAP_HDB_UID,
    password: process.env.SAP_HDB_PASSWORD,
    dbname: process.env.SAP_HDB_DBNAME
}
connection.connect(connectionParams)
.then((success) => {
    console.log('Connected');
})
.catch((error) => {
    console.log('Error', error);
})- Create a Model
const {ohana} = require('ohana-node-orm');
const user = new ohana('users'); // new ohana('table_name');
module.exports = user;- Use model in your controller
const users = await user.find();Supported operations
- find(column_name, conditions)
- findOne(column_name,conditions)
- insert(data)
- destroy(conditions)
- batchInsert(data)
- update(conditions, values)
- updateOrCreate(conditions, values)
- avg(column_name, conditions)
- count(column_name, conditions)
- destroy(conditions)
- findOneOrCreate(conditions, values)
- max(column_name, conditions)
- min(column_name, conditions)
- raw(statement)
- sum(column_name, conditions)
Available methods
- find(column_names,condition)
  - find with coulmn name and condition , with parameters as array & objects repectively
    const results = await users.find(["USER_ID","EMAIL_ID"],{"CITY":"Benagaluru","SUB-AREA":"MG ROAD"});
  -  find all the records with column name specified in an array
     const results = await users.find(["USER_ID","EMAIL_ID","CITY"]);               
  -  find records with condition passed in an object
     const results = await users.find({"CITY": "Bengaluru"})
  -  find all the records with no condition
     const results = await users.find()- findOne(column_name,conditions) - returns first & one matched record
  - findOne with column_name amd conditions  
    const results = await user.findOne(["USER_ID"],{
        ‘USER_ID’: 101,
        ‘STATUS’: 2
    }); 
  - findOne with conditions  
    const results = await user.findOne({
        ‘USER_ID’: 101,
        ‘STATUS’: 2
    }); 
  - findOne without passing any param
    const results = await user.findOne(); - update(conditions, values)
    const results = await user.update({
        ‘USER_ID’: 101,
        ‘STATUS’: 2
    },
    {
        ‘mobile_no’: “xxxx-xxx-xxx”
    });- destroy(conditions)
    const results = await user.destroy({
        ‘USER_ID’: 101
    });- insert(data)
    const results = await user.insert({
        ‘USER_ID’: 101,
        'USER_NAME': "abc",
        'PASSWORD': "xxxxxxxx",
        ‘EMAIL’: 'abc@gmail.com',
        'ADDRESS': 'A-4,Block-6, Street-9,Hagen-astric'
    });- insertBatch(data)
    const results = await user.insertBatch([{
        ‘USER_ID’: 101,
        'USER_NAME': "abc",
        'PASSWORD': "xxxxxxxx",
        ‘EMAIL’: 'abc@gmail.com',
        'ADDRESS': 'A-4,Block-6, Street-9,Hagen-astric'
        },
        {       
        ‘USER_ID’: 102,
        'USER_NAME': "abc2",
        'PASSWORD': "xxxxxxxx",
        ‘EMAIL’: 'abc2@gmail.com',
        'ADDRESS': 'A-4,Block-7, Street-10,Hagen'
        }]);