image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« ピックアップ:WordファイルからEPUB形式の電子書籍を作成, 電子書籍の世界規格EPUBの電子アルバムを作る, etc... | トップページ | enchant.js を追加: express + coffeescript + mongoose の練習 (その2) »

2011-12-24

express + coffeescript + mongoose の練習。

次の様にして coffeescript + mongoose を試してみることができる。
(node, npm, mongodb はインストール済みであるとする。)

$ express foo
$ cd foo
$ edit app.coffee
# ---- app.coffee の内容 は鯉術 ---------

$ edit package.json
# ---- package.json の内容 は鯉術 ---------

$ npm install
# ---- 実行に必要な依存パパッケージが ./node_modules に配置される

# ---- 別のターミナルで mnogodb を起動させておく
# ----  $ mongod --dbpath=./mongo

$ coffee -wc app.coffee

ブラウザで 次の URL にアクセスすると、ターミナルに colsole.log の出力が表示されていく。

http://localhost:3000

http://localhost:3000/add

http://localhost:3000

http://localhost:3000/drop

http://localhost:3000

http://localhost:3000/save?nake=xxx&age=20

http://localhost:3000

========================================
$ cat app.coffee
require 'coffee-script'

express = require 'express'
mongoose = require 'mongoose'

app = module.exports = express.createServer()

app.configure ->
  app.set "views", __dirname + "/views"
app.set "view engine", "jade"
app.use express.bodyParser()
app.use express.methodOverride()
app.use express.compiler(
  src: __dirname + "/public"
  enable: [ "sass" ]
)
app.use app.router
app.use express.static(__dirname + "/public")

app.configure "development", ->
  app.use express.errorHandler(
    dumpExceptions: true
    showStack: true
  )

app.configure "production", ->
  app.use express.errorHandler()

mongoose.connect 'mongodb://localhost/node'

# schema定義
UserSchema = new mongoose.Schema
   name : String
   age : Number

User = mongoose.model('User', UserSchema)

app.get "/", (req, res) ->
  res.redirect('/find');

# find
app.get "/find", (req, res) ->
  res.render "index", title: "Express"

  User.find {}, (err,users) -> for user in users
    console.log user

# clean
app.get "/drop", (req, res) ->
  res.render "index", title: "Express"

  User.remove {}, (err) ->
    console.log err if err

  console.log "dropped!"

# save?name=foo&age=xx
app.get "/save", (req, res) ->
  res.render "index", title: "Express"

  if req.query["name"]
    rec = new User()
    rec.name = req.query["name"]  if req.query["name"]
    rec.age = req.query["age"] if req.query["age"]

    rec.save (err) ->
      console.log "save! #{rec}"  unless err

app.get "/add", (req, res) ->
  res.render "index", title: "Express"

  rec = new User()
  rec.name = "kato"
  rec.age = 20
  rec.save (err) ->
    console.log "add! #{rec}"  unless err

app.listen 3000
console.log "Express server listening on port %d", app.address().port

========================================
$ cat package.json
{
    "name": "application-name"
  , "version": "0.0.1"
  , "private": true
  , "dependencies": {
      "express": "2.5.2"
    , "jade": ">= 0.0.1"
    , "expresso": ""
    , "coffee-script": ""
    , "mongoose": ""
  }
}

« ピックアップ:WordファイルからEPUB形式の電子書籍を作成, 電子書籍の世界規格EPUBの電子アルバムを作る, etc... | トップページ | enchant.js を追加: express + coffeescript + mongoose の練習 (その2) »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: express + coffeescript + mongoose の練習。:

« ピックアップ:WordファイルからEPUB形式の電子書籍を作成, 電子書籍の世界規格EPUBの電子アルバムを作る, etc... | トップページ | enchant.js を追加: express + coffeescript + mongoose の練習 (その2) »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク