0

node/express/mongoose でブログを作成していますが、次のエラーが発生し続けます。

/Users/Ari/Sites/Amateur Dev/node_modules/mongoose/lib/schema/documentarray.js:94 doc.validate(function (err) { ^ TypeError: Object # has no method 'validate' at DocumentArray.doValidate (/Users /Ari/Sites/Amateur Dev/node_modules/mongoose/lib/schema/documentarray.js:94:13) DocumentArray.doValidate (/Users/Ari/Sites/Amateur Dev/node_modules/mongoose/lib/schema/documentarray.js) で:102:9) DocumentArray.SchemaType.doValidate (/Users/Ari/Sites/Amateur Dev/node_modules/mongoose/lib/schematype.js:601:22) で DocumentArray.doValidate (/Users/Ari/Sites/Amateur Dev) で/node_modules/mongoose/lib/schema/documentarray.js:73:35) プロセスで Document.validate.err (/Users/Ari/Sites/Amateur Dev/node_modules/mongoose/lib/document.js:911:9) で.startup.processNextTick.process._tickCallback (node.js:244:9)

package.json を "mongoose": "git://github.com/LearnBoost/mongoose.git" に変更して mongoose をアンインストールしようとしnpm installましたが、それでも発生します。

さらに情報が必要な場合はお知らせください

4

1 に答える 1

4

最初の推測は、スキーマがサブドキュメントの配列を定義し、mongooseはその配列が常にmongooseモデルインスタンスのみを含むことを期待していますが、コードはそこに何か他のものを入れています。おそらく、_docプロパティを含むmongooseモデルインスタンスの代わりにいくつかのプレーンなjavascriptオブジェクトです。これは、基になるmongodbドキュメントを表します。

"mongoose": "3.5.x"完全なURLではなく、package.jsonを入力するだけです。

于 2012-12-25T16:43:03.287 に答える