首页 > 解决方案 > 如果我在 Node JS 中删除模型类 (.js) 会发生什么

问题描述

我最近开始学习 Node JS 和 Mongo DB 的课程。在课程中,我创建了一个模型类:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const IdeaSchema = new Schema({
    title: {
        type: String,
        required: true
    },
    details: {
        type: String,
        required: true
    },
    date: {
        type: Date,
        default: Date.now
    }
});
mongoose.model('ideas', IdeaSchema);

这在 MongoDB 数据库中创建了一个“表”(如果我错了,请纠正我),并且编辑类改变了表的设计。那么,如果我删除类会发生什么?“表”会被删除吗?为什么?如果没有,我该如何删除它?

标签: node.jsmongodbmongoose

解决方案


Mongoose 中的一切都以 Schema 开始。每个模式映射到一个 MongoDB 集合并定义该集合中文档的形状。它只是房屋的蓝图,删除 Schema 并不意味着您要删除实际的物理房屋或 mongoDB 中的集合。

您可以随时更改架构,而不会对旧文档产生任何更改/影响。您仍然可以检索它并根据新修改的架构添加具有新添加字段的新文档。

要轻松管理您的 mongoDb 数据,您可以安装 Robo3T 之类的工具,请参阅https://robomongo.org如果您是 mongo 新手,这种工具将节省您的时间并帮助您轻松管理您的数据库和集合。每次更改/添加新模式时,都可以使用该工具删除数据库、删除集合、插入文档等。

或者,如果您只是通过终端访问 mongo,此 mongo shell 命令将为您提供帮助https://www.opentechguides.com/how-to/article/mongodb/118/mongodb-cheatsheat.html

有关 mongoose 架构的更多详细信息,请参阅https://mongoosejs.com/docs/guide.html


推荐阅读