Syntax Error.

[Sy] mongooseで取ってきたdocumentにプロパティを追加する方法

2015/08/02

Node.jsmongooseを使ってるのですが、find()でdocumentを取ってきた際に、プロパティを追加しようとしたらできなくてハマってしまったのでメモ。

ここの記事に答えが書いてありました。

⇒ Mongoose の Document インスタンスにプロパティを追加しての JSON 化 - とりあえず備忘録としてはじめようかな?

find()のcallbackの第二引数にdocumentのデータが渡されるわけですが、見た感じ普通のObjectに見えたのでプロパティを追加してみましたが、プロパティが増えませんでした。

記事にあるように、どうやらDocumentという型で返ってきてるみたいで、mongooseのSchemaで設定しているプロパティ以外は追加してもJSONにした際に取り出せないようになってるようです。

なので一度toObject()メソッドで純粋なObjectに変換してからプロパティを追加してあげれば解決しました。