猫鼬:“ TypeError:未定义的类型在”

薄荷

我有一个使用猫鼬的模块。我的主要项目也使用猫鼬。我发现我无法将模块的连接与项目的架构一起使用。参见示例:

var mod = require('module_with_mongoose_connection');
var mongoose = require('mongoose');

var SessionSchema = new mongoose.Schema({ // replacing this with `mod.mongoose.Schema` works
...
});
mod.mongooseConnection.model('session', SessionSchema);

上面的例子抛出

    throw new TypeError('Undefined type at `' + path +
          ^
TypeError: Undefined type at `paths.name`
  Did you try nesting Schemas? You can only nest using refs or arrays.
    at Function.Schema.interpretAsType (/Users/me/Work/me/nodejs/orm-model/node_modules/mongoose/lib/schema.js:397:11)
    at Schema.path (/Users/me/Work/me/nodejs/orm-model/node_modules/mongoose/lib/schema.js:334:29)
    at Schema.add (/Users/me/Work/me/nodejs/orm-model/node_modules/mongoose/lib/schema.js:245:12)
    at Schema.add (/Users/me/Work/me/nodejs/orm-model/node_modules/mongoose/lib/schema.js:240:14)
    at new Schema (/Users/me/Work/me/nodejs/orm-model/node_modules/mongoose/lib/schema.js:72:10)
Why is that? A bug?

这个问题有什么解决方案?有毛病吗

薄荷

我发现了the solution事实证明,只有在使用本地模块(例如require('../module_with_mongoose_connection')时才会引发错误在上方npm(内部node_modules使用模块时,它可以工作。当猫鼬连接时也会引发错误dynamically patched(例如,添加诸如的属性mongooseConnection.myattr = 'something')。

好吧,这确实很奇怪,但我希望这个答案对其他人有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TypeError:无法读取猫鼬未定义的属性“ find”

来自分类Dev

猫鼬的嵌套模式的未定义类型

来自分类Dev

猫鼬模式引用和未定义类型“ ObjectID”

来自分类Dev

猫鼬方法未定义

来自分类Dev

猫鼬架构未定义

来自分类Dev

猫鼬findOne返回未定义

来自分类Dev

猫鼬填充返回未定义

来自分类Dev

猫鼬填充未定义的字段

来自分类Dev

猫鼬模型未定义

来自分类Dev

猫鼬预保存钩子中未定义“ this”

来自分类Dev

猫鼬填充返回null或未定义

来自分类Dev

模型中的猫鼬模型未定义

来自分类Dev

猫鼬填充回调未定义

来自分类Dev

猫鼬查询缺少(或未定义)字段的地方

来自分类Dev

猫鼬模式“ this”关键字返回未定义

来自分类Dev

如果值未定义则更新-猫鼬

来自分类Dev

无法处理猫鼬查询结果-承诺未定义

来自分类Dev

猫鼬模式方法返回未定义

来自分类Dev

猫鼬模式虚拟属性始终返回未定义

来自分类Dev

猫鼬模型在填充后获得未定义的属性

来自分类Dev

遍历猫鼬结果返回未定义

来自分类Dev

猫鼬预保存钩子中未定义“ this”

来自分类Dev

模型中的猫鼬模型未定义

来自分类Dev

猫鼬找到返回的未定义文档

来自分类Dev

Node.js-猫鼬路径验证失败-TypeError:无法调用未定义的方法“ validate”

来自分类Dev

angularJS +猫鼬:TypeError:无法读取未定义的属性“ model”

来自分类Dev

事务中的猫鼬 findOne():未捕获的类型错误:无法读取未定义的属性“$elemMatch”

来自分类Dev

猫鼬模式类型可选

来自分类Dev

猫鼬文件类型声明