CentOS5.3に!『mongodb』をyumで入れてみた。

前からちょっと気になっていた『mongodb』を自宅サーバーに入れてみた際のメモです。
http://www.mongodb.org/display/DOCS/CentOS+and+Fedora+Packages

上記を見るかぎり、CentOS5.4以降しかつかなえないのかなとおもいつつも、CentOS5.3にいれてみました。

#cat /etc/redhat-release
CentOS release 5.3 (Final)

ヴァージョン確認。。5.3だけど試してみる。

#vim /etc/yum.repos.d/10gen.repo

※ここでは10gen.repoとして取得先を下記のように記入する(ここを見る⇒http://www.mongodb.org/display/DOCS/CentOS+and+Fedora+Packages

[10gen]
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/i386/
gpgcheck=0
enabled=1
# yum search mongo

色々マッチするものが出てきますが、今回は下記をインストール

# yum install mongo-stable mongo-stable-debuginfo mongo-stable-devel mongo-stable-server

インストールしたら

#/etc/init.d/mongod start

mongodを起動

あとは下記ように対話式で登録なり検索なりして試してみる

#mongo
>
> use test

これで、node.js+express+mongodbなどができますね。

また、各NoSQLのパフォーマンスなど下記記事が大変参考になりました!

http://gihyo.jp/dev/serial/01/various-nosql/0006

awkコマンド メモ (指定行の一括削除)

たまにawkコマンドを使う場面がでて毎回思い出すのが時間かかるので、メモ。

awk -F’\t’ ‘substr($2,1,20) ~ /test/{print $1,$2,$3,$4}’ imp > imp_result

↑ タブ区切りで2列の1~20の中でtestという部分が含まれているものだけ、1,2,3,4列をimpファイルからimp_resultに出すという意味です。
色々使い回しがきいて便利です!

fetchRowでlimitが使えなかった。

zendframework でfetchRowにlimitを使おうとおもい、下記のようなコードを流したのですが、
fetchRowだけあって使えなかった。。のでメモ。
1件だけ取得するだけでなく、limitの開始を制御したいだけなのに動きませんでした。しょうがなくfetchAll使いました。

$ins->select()->where("ID=?",$this->getRequest()->getParam("id"))->order("FILE_ID ASC")->limit(1,$this->getRequest()->getParam("2"));