カテゴリー : Mongoose

Mongoose documents を JSON に変換して response を返す

Express.js + Mongoose で documents を JSON に変換して response を返すには、

UserModel.find().lean().exec(function (err, users) {
  return res.json(users)
});

というような感じで lean() オプションを付けて plain javascript object を取得した値を res.json で返せばよいです。

参考情報

[Mongoose] index が未作成な field を sort に指定して stream で取得すると default batchSize だけ処理して正常終了するので困った

Mongoose で index が作成されていない field を sort に指定して stream で取得すると、 default batchSize の 1000 件だけ処理して正常終了するので困った話をご紹介します。

mongoose | マングース

続きを読む

[Node.js] Mongoose の virtual attributes を sinon で stub 化する

Mongoose の virtual attributes を sinon で stub 化する方法をご紹介します。

mongoose | マングース

続きを読む

[Node.js] MONGOOSE WARNING がでないように stable version を使おう

Node.js + Mongoose のアプリ開発で MONGOOSE WARNING という警告メッセージが表示されたら、 unstable バージョンを利用していると思われるので stable なバージョンを使いましょう。

mongoose | マングース

続きを読む

[Mongoose] lean option を有効にすると MongooseDocument ではなく plain javascript object が返ってくる

タイトルで完結していますが、Mongoose で lean option を有効にすると MongooseDocument ではなく plain javascript object が返ってきます。

mongoose | マングース

続きを読む

[Mongoose] 途中から field に default 定義を追加する場合の実装方針

Mongoose で途中から field に default 定義を追加する場合の実装方針をご紹介します。

mongoose | マングース

続きを読む

[Mongoose] ObjectId のバリデーションには mongoose.Types.ObjectId.isValid を使おう

Mongoose で ObjectId のバリデーションをするには mongoose.Types.ObjectId.isValid というメソッドがあるのでこれを使いましょう。

mongoose | マングース

続きを読む

[Mongoose] 特定の field が変更されたかは isDirectModified, isModified, modifiedPaths で確認できる

Mongoose では document の特定の field に変更があったかどうかを isDirectModified や isModified, modifiedPaths などの method で確認できます。

mongoose | マングース

続きを読む

[Mongoose] TypeError: Cannot read property ‘options’ of undefined

Mongoose でスキーマ定義に type: ObjectId としている field にオブジェクト型のデータが入ってると TypeError: Cannot read property ‘options’ of undefined エラーが発生します。

mongoose | マングース

続きを読む

[Mongoose] stream を使ってバッチ処理するときは noCursorTimeout: true オプションを設定すると幸せになれるかも

Express.js(Node.js) + Mongoose(MongoDB) という構成で、バッチ処理を長時間実行すると途中で終了してしまう問題が発生しました。

mongoose | マングース

続きを読む