ohana-node-orm
v1.2.5
Published
ORM for SAP HANA for node.js
Downloads
46
Maintainers
Readme
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’: '[email protected]',
'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’: '[email protected]',
'ADDRESS': 'A-4,Block-6, Street-9,Hagen-astric'
},
{
‘USER_ID’: 102,
'USER_NAME': "abc2",
'PASSWORD': "xxxxxxxx",
‘EMAIL’: '[email protected]',
'ADDRESS': 'A-4,Block-7, Street-10,Hagen'
}]);