如果我在Node JS中删除模型类(.js),会发生什么情况

时间:2019-03-14 11:30:29

标签: node.js mongodb mongoose

我最近开始参加有关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数据库中创建了一个“表”(如果我错了,请纠正我),并且编辑该类会更改表的设计。那么,如果我删除课程会怎样? “表格”会被删除吗?为什么?如果没有,该如何删除?

2 个答案:

答案 0 :(得分:0)

您的表没有被删除。只是您的架构已更改,并在同一表中添加了新字段。

答案 1 :(得分:0)

猫鼬中的一切都始于模式。每个架构都映射到MongoDB集合,并定义该集合中文档的形状。这只是房屋的蓝图,删除Schema并不意味着您要删除实际的房屋或在mongoDB中的集合。

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

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

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

有关猫鼬模式的更多详细信息,请参见https://mongoosejs.com/docs/guide.html