1.0.10 • Published 4 years ago

w-orm-mssql v1.0.10

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

w-orm-mssql

An object of operator for MSSQL in nodejs, like a simple ORM.

language npm version Build Status license gzip file size npm download jsdelivr download

Documentation

To view documentation or get support, visit docs.

Installation

Using npm(ES6 module):

Note: w-orm-mssql depends on sequelize, mssql, async and eslint.

npm i w-orm-mssql

Example for the table in database

Link: [dev source code]

import wo from 'w-orm-mssql'

let username = 'username' let password = 'password' let opt = { url: mssql://${username}:${password}@localhost, db: 'worm', cl: 'users', fdModels: 'models', //autoGenPK: false, }

let rs = { id: 'id-peter', name: 'peter', value: 123, }, { id: 'id-rosemary', name: 'rosemary', value: 123.456, }, { id: '', name: 'kettle', value: 456, },

let rsm = { id: 'id-peter', name: 'peter(modify)' }, { id: 'id-rosemary', name: 'rosemary(modify)' }, { id: '', name: 'kettle(modify)' },

async function test() {

//w
let w = wo(opt)


//genModels, disable if got models
await w.genModels({
    username: 'username',
    password: 'password',
    // dialect: 'mssql', //default
    // host: 'localhost', //default
    // port: 1433, //default
    // database from opt.db
    // directory from opt.fdModels
})


//on
w.on('change', function(mode, data, res) {
    console.log('change', mode)
})


//delAll
await w.delAll()
    .then(function(msg) {
        console.log('delAll then', msg)
    })
    .catch(function(msg) {
        console.log('delAll catch', msg)
    })
// => delAll then { n: {n}, ok: 1 }


//insert
await w.insert(rs)
    .then(function(msg) {
        console.log('insert then', msg)
    })
    .catch(function(msg) {
        console.log('insert catch', msg)
    })
// => insert then { n: 3, ok: 1 }


//save
await w.save(rsm, { autoInsert: false, atomic: true })
    .then(function(msg) {
        console.log('save then', msg)
    })
    .catch(function(msg) {
        console.log('save catch', msg)
    })
// => save then [ { n: 1, nModified: 1, ok: 1 },
                  { n: 1, nModified: 1, ok: 1 }, 
                  { n: 0, nModified: 0, ok: 1 }, //autoInsert=false
                  { n: 1, nInserted: 1, ok: 1 }  //autoInsert=true
                ]


//select all
let ss = await w.select()
console.log('select all', ss)
// => select all [ { id: 'id-peter', name: 'peter(modify)', value: 123 },
                   { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 },
                   { id: '{random id}', name: 'kettle', value: 456 }, 
                   { id: '{random id}', name: 'kettle(modify)', value: null } //autoInsert=true
                ]


//select
let so = await w.select({ id: 'id-rosemary' })
// => select [ { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 } ]


//select by $and, $gt, $lt
let spa = await w.select({ '$and': [{ value: { '$gt': 123 } }, { value: { '$lt': 200 } }] })
// => select [ { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 } ]


//select by $or, $gte, $lte
let spb = await w.select({ '$or': [{ value: { '$lte': -1 } }, { value: { '$gte': 200 } }] })
// => select [ { id: '{random id}', name: 'kettle', value: 456 } ]


//select by $and, $ne, $in, $nin
let spc = await w.select({ '$and': [{ value: { '$ne': 123 } }, { value: { '$in': [123, 321, 123.456, 456] } }, { value: { '$nin': [456, 654] } }] })
// => select [ { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 } ]


//select by regex
let sr = await w.select({ name: { $regex: 'PeT', $options: '$i' } })
// => select [ { id: 'id-peter', name: 'peter(modify)', value: 123 } ]


//del
let d = ss.filter(function(v) {
    return v.name === 'kettle'
})
w.del(d)
    .then(function(msg) {
        console.log('del then', msg)
    })
    .catch(function(msg) {
        console.log('del catch', msg)
    })
// => del then [ { n: 1, nDeleted: 1, ok: 1 } ]

} test()

1.0.10

4 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago