sequelize-json

2.1.2 • Public • Published

sequelize-json

Want to store JSON data in your database (that isn't PostGres)? This is for you.

How

  • Create a database and a Schema:
 
    var Sequelize = require('sequelize'),
        JsonField = require('sequelize-json'),
        db,
        User;
 
    db = new Sequelize('database', 'username', 'password', {
      dialect: 'sqlite',
      logging: false
    });
 
    User = db.define('User', {
      username: Sequelize.STRING,
      jsonField: JsonField(db, 'User', 'jsonField')
    });

Note the parameters of JsonField, you pass your Sequelize instance, the name of the model, and the name of the field. A little awkard, but this is needed in order to add the proper hooks to the model instance.

Now, you can always treat that field as a json object:

User.create({
      username: 'Scott',
      jsonField: {
        likes: ['running', 'node']
      }
    })
    .then(function(user) {
      user.jsonField.likes.push('tests');
      return user.save();
    })
    .then(function(user) {
      expect(user.jsonField).to.be.a('object');
      expect(user.jsonField.likes).to.have.length(3);
    });

It will work with normal save commands, as well as updateAttribute commands.

Readme

Keywords

Package Sidebar

Install

npm i sequelize-json

Weekly Downloads

281

Version

2.1.2

License

ISC

Last publish

Collaborators

  • hillmanov