Categories
JavaScript Answers

How to convert entity to plain object with Sequelize?

Sometimes, we want to convert entity to plain object with Sequelize.

In this article, we’ll look at how to convert entity to plain object with Sequelize.

How to convert entity to plain object with Sequelize?

To convert entity to plain object with Sequelize, we can call findAll with raw and nest set to true.

For instance, we write

db.Sensors.findAll({
  where: {
    nodeid
  },
  raw: true,
  nest: true,
})

to call findAll with an object with a where property to find the item with the given nodeid value.

And we set raw to true to return the result as a plain object.

We set nest to true to prevent nesting of associations.

Conclusion

To convert entity to plain object with Sequelize, we can call findAll with raw and nest set to true.

Categories
JavaScript Answers

How to add a client for a socket.io server with Node.js?

Sometimes, we want to add a client for a socket.io server with Node.js.

In this article, we’ll look at how to add a client for a socket.io server with Node.js.

How to add a client for a socket.io server with Node.js?

To add a client for a socket.io server with Node.js, we can use the socket.io-client package.

To install, it we run

npm i socket.io-client

Then use the package by writing

const io = require('socket.io-client');
const socket = io.connect('http://localhost:3000', {
  reconnect: true
});

socket.on('connect', (socket) => {
  console.log('Connected!');
});
socket.emit('ch01', 'me', 'test msg');

We connect by calling io.connect with the server ID address.

Then we call socket.on with 'connect' to listen for connection success.

And then we call socket.emit to send a message to a channel.

Next, we add our server by writing

const app = require('express')();
const http = require('http').Server(app);
const io = require('socket.io')(http);

io.on('connection', (socket) => {
  console.log('connection');

  socket.on('ch01', (from, msg) => {
    console.log('message', from, ' saying ', msg);
  });

});

http.listen(3000, () => {
  console.log('listening on *:3000');
});

to call io.on with 'connection' to listen for client connections.

And then we call socket.one with 'ch01' to listen for messages on room 'ch01'.

Conclusion

To add a client for a socket.io server with Node.js, we can use the socket.io-client package.

Categories
JavaScript Answers

How to make connection to Postgres via Node.js?

Sometimes, we want to make connection to Postgres via Node.js.

In this article, we’ll look at how to make connection to Postgres via Node.js.

How to make connection to Postgres via Node.js?

To make connection to Postgres via Node.js, we can use the pg module.

To install it, we run

npm i pg

Then we use it by writing

const {
  Pool
} = require('pg');

const config = {
  user: 'foo',
  database: 'my_db',
  password: 'secret',
  host: 'localhost',
  port: 5432,
  max: 10,
  idleTimeoutMillis: 30000
};

const pool = new Pool(config);
pool.on('error', (err, client) => {
  console.error('idle client error', err.message, err.stack);
});
pool.query('SELECT $1::int AS number', ['2'], (err, res) => {
  if (err) {
    return console.error('error running query', err);
  }
  console.log('number:', res.rows[0].number);
});

to create a new Pool instance with the config object that has the database host, name, port, and credentials.

Then we call pool.on with 'error' to catch any errors with the connection.

And then we call pool.query to make a database query with the parameterized SQL string, values, and a callback that has the result of the query.

Conclusion

To make connection to Postgres via Node.js, we can use the pg module.

Categories
JavaScript Answers

How to get the sha1 hash of a string in Node.js?

Sometimes, we want to get the sha1 hash of a string in Node.js.

In this article, we’ll look at how to get the sha1 hash of a string in Node.js.

How to get the sha1 hash of a string in Node.js?

To get the sha1 hash of a string in Node.js, we can use the crypto module.

For instance, we write

const crypto = require('crypto')
const shasum = crypto.createHash('sha1')
shasum.update('foo')
const s = shasum.digest('hex')

to call crypto.createHash to create the shasum object.

Then we call shasum.update with the string we want to create the hash from.

Finally, we call shasum.digest with 'hex' to return the hex digest.

Conclusion

To get the sha1 hash of a string in Node.js, we can use the crypto module.

Categories
JavaScript Answers

How to see the SQL generated by Sequelize.js?

Sometimes, we want to see the SQL generated by Sequelize.js.

In this article, we’ll look at how to see the SQL generated by Sequelize.js.

How to see the SQL generated by Sequelize.js?

To see the SQL generated by Sequelize.js, we can use the sequelize.sync method or set the logging option when we create our Sequelize instance.

For instance, we write

const sequelize = new Sequelize('database', 'username', 'password', {
  logging: console.log
});

to connect to our database by creating a Sequelize instance with the 'database' name, 'username' and 'password'.

We log the SQL code generated by Sequelize by setting logging to console.log.

Also, we can use sequelize.sync by writing

sequelize.sync({
  logging: console.log
})

to let us log the generated SQL in the console.

Conclusion

To see the SQL generated by Sequelize.js, we can use the sequelize.sync method or set the logging option when we create our Sequelize instance.