mongoose を使う
Node.js で MongoDB の読み書きをする際に mongoose.js を使ったときのメモ。
mongoose はDB への接続するコードをできるだけ隠蔽しようとしているので、
モデル定義を使って DB への接続をほぼ意識せず使うことが可能。
DBへの接続を意識するのは起動時だけ。app.js の中で Mongo に接続する。
var mongoose = require('mongoose'); var uri = process.env.MONGOHQ_URL || 'mongodb://localhost/collectionName'; mongoose.connect(uri);
モデルを module として定義する。
var mongoose = require('mongoose'); NAME_RECORD = 'entry'; var schema = new mongoose.Schema({ title: { type: String, required: true }, .... category: { type: Array, required: false } }); // create object module.exports = mongoose.model(NAME_RECORD, schema);
保存/検索を行う。
var Post = require('../models/post.js'); Post.find(condition).skip(offset).limit(limit).sort({date: order}).exec(function(err, result) { ............... }); var newPost = {title: title, url: url, from: from, to: to, date: date, category: [category]}; new Post(newPost).save(function(err) { if(!err){ res.send(newPost); }else{ res.send("NG"); } });