あまり使うことはないかなと思っていたのですが、ちょっと使うことにしました、PostgreSQL。
Rubyにはdata_mapperがありましたが、Node.jsでは何があるんだろうと思って調べてみました。
とりあえず、見つけたのは3つです。
- https://github.com/sequelize/sequelize
- https://github.com/1602/jugglingdb
- https://github.com/dresende/node-orm2
これが現時点でのGitHubでのStar数順です。
でも、JugglingDBを使ってみることにしました。理由は、adapterにRedisやMongoDBなどのNoSQL系が入っていてちょっとわくわくしたからです。もしかして、将来新しいadapterを作れるのかもしれないと思いました。
しかし、このJugglingDBですが、ドキュメントが見つかりません。RailwayJSのサブプロジェクトみたいで、あまり外に目が向いていないのでしょうか。ところで、RailwayJSはcompound.jsに変わったのですね、client-sideで動くと書いてあります。面白そうですね。
さて、READMEを見ながらなんとなくやってみたら動きました。
var Schema = require('jugglingdb').Schema;
var schema = new Schema('sqlite3', { database: 'xxx.db' });
var SomeObject = schema.define('SomeObject', {
name: {
type: String
},
content: {
type: String
},
flag: {
type: Boolean
}
});
schema.autoupdate();
SomeObject.create();
これで合っていますかね。
他の2つとの比較も知りたいですね。探せば誰かがやっているでしょう、きっと。
http://www.sequelizejs.com/はだいぶ詳しく書いてありますね。少し心が揺らぎます。
docsの下に少しドキュメントがありました。しかし、READMEに書いてあるfindOneが載っていなかったりと、網羅されていないようにも見えます。
コメント