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