node.js - Mongoose For Node.js 错误对象没有方法验证

标签 node.js mongodb express mongoose

我正在使用 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) at DocumentArray.doValidate (/Users/Ari/Sites/Amateur Dev/node_modules/mongoose/lib/schema/documentarray.js:102:9) at DocumentArray.SchemaType.doValidate (/Users/Ari/Sites/Amateur Dev/node_modules/mongoose/lib/schematype.js:601:22) at DocumentArray.doValidate (/Users/Ari/Sites/Amateur Dev/node_modules/mongoose/lib/schema/documentarray.js:73:35) at Document.validate.err (/Users/Ari/Sites/Amateur Dev/node_modules/mongoose/lib/document.js:911:9) at process.startup.processNextTick.process._tickCallback (node.js:244:9)

我尝试卸载 mongoose,用 "mongoose": "git://github.com/LearnBoost/mongoose.git"更改我的 package.json 并执行 npm install 但它仍然发生。

如果您需要更多信息,请告诉我

最佳答案

第一个猜测是您的架构定义了一个子文档数组,并且 mongoose 期望该数组始终仅包含 mongoose 模型实例,但您的代码在其中放置了其他内容,可能是一些普通的 javascript 对象而不是 mongoose 模型实例,其中包含表示底层 mongodb 文档的 _doc 属性。

您只需将 "mongoose": "3.5.x" 放入 package.json 中,而不是完整的 URL。

关于node.js - Mongoose For Node.js 错误对象没有方法验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14032325/

相关文章:

设置 contentType 时 jquery ajax 不工作

node.js - 库 - TypeError : Cannot read property 'zcard' of null

node.js - MongoDb mapreduce 到另一个集合的内存效率比 `out inline` 更高

mongodb - 如何将 Lucene 查询转换为 Mongo 理解形式

node.js - bcryptjs ComparePassword 总是返回 false - NodeJS

node.js - 如何在nodejs中解码Base64字符串并作为图像上传到amazon s3?

node.js - Node js 中的异步请求函数

javascript - Mongodb:在仅具有默认索引(_id)的集合上使用 min 函数

node.js - 从 Azure Blob 存储下载文件的示例

javascript - Mongoose 数据流