このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

web帳

記事詳細

2015.04.08

node.js で sqliteを扱う sqlite3-webapi-kit

お久しぶりな気が。。

日々、開発環境でnodeを扱っているのですが、sqliteも扱うことがあったので書いておきます!

node モジュールの

sqlite3-webapi-kit

https://www.npmjs.com/package/sqlite3-webapi-kit

がいい感じぽいのでその使い方などとなります。

sqlite

sqliteってなんですか。って方は過去の記事

http://www.webcyou.com/?p=3194

等を参照して頂ければと思います。

なにはともあれ、とりあえず、sample.dbを作成。

[code]sqlite3 sample.db[/code]

テーブルを作成。

[code]CREATE TABLE sample(id INTEGER PRIMARY KEY,name VARCHAR(255));[/code]

node sqlite とsqlite3-webapi-kitをインストール

npmでnodeモジュールのsqliteとsqlite3-webapi-kitをインストールします。

https://www.npmjs.com/package/sqlite3

https://www.npmjs.com/package/sqlite3-webapi-kit

[code]npm install sqlite3[/code]
[code]npm install sqlite3-webapi-kit[/code]

インストール完了しましたら準備OK!

公式サイトを参考に

https://www.npmjs.com/package/sqlite3-webapi-kit

 

モジュール読み込み

[code]sqlited = require('sqlite3-webapi-kit');[/code]

基本サンプル

[code]var sqlited = require('sqlite3-webapi-kit');
sqlited.open('/path/to/hoge.db3', function (err) {
sqlited.listen(4983, function () {
console.log('server start');
});
});[/code]

sqlite3.listenとなっているとどうもエラっていたので変更。

あと、

setHook(function)

こちら、「フック関数を指定しない場合はすべてのアクセスを許可します。」と記述されているのですが、どうも指定がないとエラってしまう。

公式サイトにあるようにこちらを記述。

[code]sqlited.setHook(function (remoteAddress, request) {
// ローカルネットワークのみ許可
return /^(192\.168\.|127\.0\.0\.1)/.test(remoteAddress);
});[/code]

これでOK!

ターミナルから

[code]curl http://localhost:4983/select?table=user[/code]

叩くなり、ブラウザでhttp://localhost:4983/select?table=user など叩くなりすると、resultがjsonで返ってきます。

[code]{
"result": [
{ "id": 1, "name": "taro", "sex": "male", "age": 30 },
{ "id": 2, "name": "jiro", "sex": "male", "age": 25 },
{ "id": 3, "name": "saburo", "sex": "male", "age": 20 }
]
}[/code]

テーブルにデータ挿入する際も

[code]http://localhost:4983/update?table=user&set=name=%27taro%27,age=20&conditions=flag%20is%20null[/code]

こんな感じで入っちゃいます。

ローカル環境でDB建てたい時はサクッと利用できますね。

これ使ってちょっとしたツールを作っていますので、近いうち紹介できればと!

 

Band's

また、「Band's」も日々更新しておりますのでよろしければ「いいね」押してもらえればと!!

http://bands-music.jp/

ではでは!

また。

  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、港区六本木で活動中。

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。