I'm using grommet version 1.3.4 and trying to use mongodb with node js and express. When I run npm install I get the following TypeError:
/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...
This is the code I used for the Person schema:
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);
And babel transpiled it into this:
'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
Apparently it is failing at the last line where I export the model. I'm not very familiar with either mongodb and grommet, so any ideas on what I'm doing wrong?
apparently import { Schema, model } from 'mongoose'; doesn't work... I had to use this instead:
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With