首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grommet: TypeError:无法读取未定义的属性“”modelSchemas“”

Grommet: TypeError:无法读取未定义的属性“”modelSchemas“”
EN

Stack Overflow用户
提问于 2018-07-12 01:34:47
回答 1查看 851关注 0票数 1

我使用的是grommet 1.3.4版本,并尝试将mongodb与node js和express一起使用。当我运行npm install时,我得到以下TypeError:

代码语言:javascript
复制
/home/jorge/Desktop/crud-app/node_modules/mongoose/lib/index.js:373
  if (!this.modelSchemas[name]) {
            ^

TypeError: Cannot read property 'modelSchemas' of undefined
    at Mongoose.model (/home/jorge/Desktop/crud-app/node_modules/mongoose/lib/index.js:373:13)
    at Object.<anonymous> (/home/jorge/Desktop/crud-app/dist-server/models/person.model.js:18:39)
    at Module._compile (internal/modules/cjs/loader.js:702:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
    at Module.require (internal/modules/cjs/loader.js:650:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/home/jorge/Desktop/crud-app/dist-server/controllers/person.controller.js:9:15)
    at Module._compile (internal/modules/cjs/loader.js:702:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
    at Module.require (internal/modules/cjs/loader.js:650:17)
[nodemon] app crashed - waiting for file changes before starting...

这是我在Person模式中使用的代码:

代码语言:javascript
复制
import { Schema, model } from 'mongoose';

const PersonSchema = new Schema({
    name: String,
    lastName: String,
    age: Number,
    gender: String,
    updatedAt: { type: Date, default: Date.now },
    status: Boolean,
});

export default model('Person', PersonSchema);

巴别塔把它转换成这样:

代码语言:javascript
复制
'use strict';

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _mongoose = require('mongoose');

var PersonSchema = new _mongoose.Schema({
    name: String,
    lastName: String,
    age: Number,
    gender: String,
    updatedAt: { type: Date, default: Date.now },
    status: Boolean
});

exports.default = (0, _mongoose.model)('Person', PersonSchema);
//# sourceMappingURL=person.model.js.map

显然,它在我导出模型的最后一行失败了。我对mongodb和grommet都不是很熟悉,所以你知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2018-07-12 01:50:48

显然import { Schema, model } from 'mongoose';不工作..。我不得不使用下面的代码:

代码语言:javascript
复制
import mongoose from 'mongoose';

const PersonSchema = new mongoose.Schema({
    name: String,
    lastName: String,
    age: Number,
    gender: String,
    updatedAt: { type: Date, default: Date.now },
    status: Boolean,
});

export default mongoose.model('Person', PersonSchema);
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51291333

复制
相关文章

相似问题

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