Извлечение схемы из файла схемы mon goose - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь извлечь схему из файла схемы mon goose, но импортированный объект всегда имеет значение null. Я знаю, что есть даже библиотеки для извлечения схемы из mongoDB, но я пытаюсь извлечь ее из файла mon goose.

Ниже приведено то, что я пробовал.

// App.js
import React from "react";
import "./styles.css";

import productSchema from "./models/product";

export default function App() {
  console.log(productSchema.schema);
  return (
    <div className="App">
      <h1>{productSchema.schema}</h1>
    </div>
  );
}

// product.js
const mongoose = require("mongoose");

const productSchema = mongoose.Schema({
  name: String,
  color: String,
  material: String,
  brandName: String,
  logo: String,
  dimensions: String,
  weight: String,
  battery: String,
  price: Number
});

module.exports = mongoose.model("Product", productSchema);

Я получаю Cannot read property 'schema' of null, потому что productSchema имеет значение null.

Песочница: https://codesandbox.io/s/mongooseform-c26vb?fontsize=14&hidenavigation=1&theme=dark

Я ценю любое предложение

1 Ответ

0 голосов
/ 12 января 2020

Вы используете Mon goose в браузере и в соответствии с docs :

Mon goose библиотека браузера не поддерживает сохранение документов, запросов, заполнение , дискриминаторы или любые другие функции Mon goose, отличные от схем и проверочных документов.

Я думаю, именно поэтому вызов функции model возвращает ноль. Вы можете иметь схему и модель в отдельных файлах и включать в себя все, что вам нужно.

Приложение. js

import productSchema from "./models/product-schema";

export default function App() {
  console.log('Schema: ', productSchema);
  return (
    <div className="App">
      <h1></h1>
    </div>
  );
}

. / Models / product -schema

const mongoose = require("mongoose");

const productSchema = mongoose.Schema({
  name: String,
  color: String,
  material: String,
  brandName: String,
  logo: String,
  dimensions: String,
  weight: String,
  battery: String,
  price: Number
});

module.exports = productSchema;

. / модели / изделия

const mongoose = require("mongoose");
const productSchema = require("./product-schema");

module.exports = mongoose.model("Product", productSchema);

См. обновленную песочницу: https://codesandbox.io/s/mongooseform-s3moh?fontsize=14&hidenavigation=1&theme=dark

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...