最近、node.jsを使い始めました。ちょっとしたwebサーバが簡単に書けていいですね。node.jsでMongoDBを扱うには mongoose をつかうとすごく楽です。しかし、mongooseを使う際にはスキーマを定義しなければいけません。HTTP POSTのbody(JSON形式)のように何が飛んでくるか分からない場合にもスキーマレスにとりあえず突っ込んでおきたいというときには、Schema.Types.Mixed という型を指定してスキーマを作成すれば、何でも格納でき、JSONデータもそのまま格納できます。
環境
- OS: OS X 10.9.4
- node.js: v0.10.32
- mongoose: v3.8.18
- MongoDB: v2.6.4
下準備:mongooseがなければ、npmでインストールできます。
$ npm install mongoose
ソース
node.js file which saves body of HTTP POST to Mong ...
ただし、これだと "data" というキーの値としてJSONデータが格納されるため、階層が1段深くなってしまいます。それが嫌だという方は、mongo driverを使う方法もあるようです。