首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猫鼬模式的类型有错误。

猫鼬模式的类型有错误。
EN

Stack Overflow用户
提问于 2018-10-12 00:37:55
回答 1查看 41关注 0票数 1

我正在使用mongodb开发一个使用mongodb的节点应用程序。在键入驻留在不同文件中的架构时,我会收到一个错误。

我在companyQuery.js文件中有以下代码:

代码语言:javascript
复制
const mongoose = require('mongoose');
const Company = require('./company');
const connectionString = 'mongodb://localhost/company'

mongoose.connect(connectionString);

mongoose.connection.on('connected', () => {
    console.log('Mongoose connected');
})
mongoose.connection.on('disconnected', () => {
    console.log('Mongoose is disconnected');
})
mongoose.connection.on('error', (err) => {
    console.log(err, 'mongoose error');
})

它引用文件company.js:

代码语言:javascript
复制
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const companySchema = new Schema({
        name: {
    type: String, 
    required: true
},
founded: Date,
employees: Number,
active: true;
products: [String],
ceo: {
    name: String,
    age: Number
}
});
const Company = mongoose.model('Company', companySchema);
module.exports = Company;

这是我正在犯的错误:

代码语言:javascript
复制
/Users/ashley/salty-sardines/mongoose-3/node_modules/mongoose/lib/schema.js:696
    throw new TypeError('Undefined type ' + name + ' at ' + path +
    ^

TypeError: Undefined type 'undefined' at 'active'
  Did you try nesting Schemas? You can only nest using refs or arrays.
    at Function.Schema.interpretAsType (/Users/ashley/salty-sardines/mongoose-3/node_modules/mongoose/lib/schema.js:696:11)
    at Schema.path (/Users/ashley/salty-sardines/mongoose-3/node_modules/mongoose/lib/schema.js:545:29)
    at Schema.add (/Users/ashley/salty-sardines/mongoose-3/node_modules/mongoose/lib/schema.js:407:12)
    at new Schema (/Users/ashley/salty-sardines/mongoose-3/node_modules/mongoose/lib/schema.js:110:10)
    at Object.<anonymous> (/Users/ashley/salty-sardines/mongoose-3/company.js:3:44)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/Users/ashley/salty-sardines/mongoose-3/companyQuery.js:2:17)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)

这个问题是在我的存储库中的三台不同的机器上复制的,我已经用相同的结果重写了四次代码。如果我删除const Company = require('./company');并将信息合并到一张纸上,我就可以让它工作。任何帮助都将不胜感激,因为我已经阅读了关于这类错误的所有其他帖子,而且没有任何一篇文章为我提供了解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-12 01:02:06

也许你只需要替换一下这个:

代码语言:javascript
复制
active: true,

在这方面:

代码语言:javascript
复制
active: {
  type: Boolean,
  default: true,
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52770629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档