使用MongoDB/JavaScript在Docker中自动创建数据库/表时出现问题

使用MongoDB/JavaScript在Docker中自动创建数据库/表时出现问题,javascript,mongodb,docker,Javascript,Mongodb,Docker,我是docker的新手,所以无法理解-如果我想自动构建mongoDB的容器-如何自动创建数据库和数据库/表的模式?也许在Dockerfile中,或者我可以在docker-compose.yml中完成 我的意思是,如果是自动的,那就不需要使用像CREATETABLE,CREATEDATABASE这样的查询 这是我的代码: SERVER.JS const express = require("express"); const mongoose = require("mo

我是docker的新手,所以无法理解-如果我想自动构建mongoDB的容器-如何自动创建数据库和数据库/表的模式?也许在Dockerfile中,或者我可以在docker-compose.yml中完成

我的意思是,如果是自动的,那就不需要使用像CREATETABLE,CREATEDATABASE这样的查询

这是我的代码: SERVER.JS

const express = require("express");
const mongoose = require("mongoose");
const requireDir = require("require-dir");

//Iniciando o App
const app = express();

//Iniciando o DB
const mongoClient = require("mongodb").MongoClient;
mongoClient.connect('mongodb://localhost:27017/nodeapi', {useUnifiedTopology: true});

requireDir("./src/models");

const Product = mongoose.model('Product');

//Primeira rota
app.get("/", (req, res) => {
    Product.create({
        title: 'React Native',
        description: 'Build native apps with React',
        url: 'http://github.com/facebook/react-native'
    });

    return res.send("hello word 1");

});

app.listen(3001);
PRODUCT.JS

const mongoose = require('mongoose');

  const ProductSchema = new mongoose.Schema({

      title:{
          type: String,
          required: true,
      },
      description: {
          type: String,
          required: true,
      },
      url: {
          type: String,
          required: true,
    },
      createdAt: {
          type: Date,
          default: Date.now,
      },
  });
 
   mongoose.model('Product', ProductSchema);

这个答案有一些很好的提示——包括如何初始化一个新实例,以及一个链接,用于创建一个脚本来初始化数据库/集合