0

古いバージョンの mongoose.js を使用するアプリを持っていて、それを 2.9.x にアップグレード中です (この更新が成功した後に 3.x にアップグレードする予定です)。のスキーマタイプを持つものを設定しようとするまで、(ほとんど)うまくいくようですMixed。これを行うと、 と言ってエラーになりますTypeError: Cannot read property 'name' of undefined

ここに私のスキーマがあります:

mongoose = require 'mongoose'
Schema   = mongoose.Schema
Mixed   = Schema.Types.Mixed

LogItemSchema = new Schema({
    action: String
  , user: String
  , comment: String
  , time: Date
  , modal: Mixed
})

module.exports = LogItem = mongoose.model('LogItem', LogItemSchema)

新しい LogItem をうまく作成できますが、プロパティを設定しようとするまでmodal(通常は半複雑なオブジェクト、つまり{type: 'string', companies: ['company1', 'company2']})、エラーが発生します。

モーダルを設定しない場合、エラーはありません。これはなぜでしょうか?

4

1 に答える 1

0

話の教訓: 型を使用しないでくださいMixed

しかし、真剣に、私はこの特定の問題が何であるかを理解していませんでした. 私はMongooseの最新バージョンに更新するだけで終わり、エラーが発生したときに対処しました(主にAPIの変更)。

Mixedその前にログが変更され、データ が含まれなくなりました。

于 2014-04-21T20:28:14.500 に答える