1.4.7 • Published 3 years ago
node-norm v1.4.7
node-norm
node-norm is intermediate layer to access data source (database, file, else?).
npm i node-norm
Features
- Adaptive persistence, you can easily extend by creating new adapters,
- Multiple connections to work with,
- NoSQL-like approaches,
Data fixtures.
How to work with it
const { Manager } = require('node-norm');
const manager = new Manager({
connections: [
{
name: 'default',
adapter: Disk, // change with constructor of adapter
schemas: [
{
name: 'friend',
}
],
},
],
})
(async () => {
let session = manager.openSession();
try {
let friend = { first_name: 'John', last_name: 'Doe' };
await session.factory('foo.friend').insert(friend).save();
// same as
await session.factory('friend').insert(friend).save();
// same as
await session.factory(['foo', 'friend']).insert(friend).save();
let data = await session.factory('foo', { bar: 'foobar' }).single();
//similiar with syntax: SELECT * FROM foo where bar = 'foobar' LIMIT 1 ;
let data = await session.factory('foo', { bar: 'foobar' }).all();
let data = await session.factory('foo').find({ bar: 'foobar' }).all();
//similiar with syntax: SELECT * FROM foo where bar = 'foobar' ;
let data = await session.factory('foo').all();
//similiar with syntax: SELECT * FROM foo;
let data = await session.factory('foo').find({ userId: 1, 'userName!like': 'foo' }).all();
// on example userName separate by !, you can use 'or', 'lt', 'gt'
//similiar with syntax: SELECT * FROM foo where userId = 1 and userName LIKE %foo%;
let { inserted, rows } = await session.factory('foo').insert({ field1: 'bar', field2: 'baz' }).save();
await session.factory('foo').insert({ field1: 'bar', field2: 'baz' }).insert({ field1: 'bar1' }).save();
// insert data to table foo
let { affected } = await session.factory('foo',{ barId = 2 }).set({ baz: 'bar' }).save();
// edit record on field barId = 2
let data = await session.factory('foo').delete();
//delete data;
console.log('Great, we have new friend');
let newFriend = await session.factory('friend').single();
await session.close();
} catch (err) {
console.error(err);
}
await session.dispose();
// or
manager.runSession((session) => {
let friend = { first_name: 'John', last_name: 'Doe' };
await session.factory('friend').insert(friend).save();
console.log('Great, we have new friend');
let newFriend = await session.factory('friend').single();
});
})();
Documentation
1.4.7
3 years ago
1.4.5
4 years ago
1.4.4
4 years ago
1.4.3
4 years ago
1.4.2
4 years ago
1.4.1
4 years ago
1.4.0
4 years ago
1.3.1
5 years ago
1.3.0
5 years ago
1.2.21
5 years ago
1.2.20
5 years ago
1.2.19
5 years ago
1.2.18
5 years ago
1.2.17
5 years ago
1.2.16
5 years ago
1.2.15
5 years ago
1.2.14
6 years ago
1.2.13
6 years ago
1.2.12
6 years ago
1.2.11
6 years ago
1.2.10
6 years ago
1.2.9
6 years ago
1.2.8
6 years ago
1.2.7
6 years ago
1.2.6
6 years ago
1.2.5
6 years ago
1.2.4
6 years ago
1.2.3
6 years ago
1.2.2
6 years ago
1.2.1
6 years ago
1.2.0
6 years ago
1.1.0
6 years ago
1.0.0
6 years ago
0.6.2
6 years ago
0.6.1
6 years ago
0.6.0
7 years ago
0.5.0
7 years ago
0.4.0
7 years ago
0.3.5
7 years ago
0.3.4
7 years ago
0.3.3
7 years ago
0.3.2
7 years ago
0.3.1
7 years ago
0.1.2
8 years ago
0.1.1
8 years ago
0.1.0
9 years ago