node.js - 如果我在 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 数据库中创建了一个“表”(如果我错了,请纠正我),并且编辑类改变了表的设计。那么,如果我删除类会发生什么?“表”会被删除吗?为什么?如果没有,我该如何删除它?
解决方案
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
推荐阅读
- c - 我试图找到 3 个输入的总和和平均值,并使用引用调用来做到这一点
- perl - Perl 的 CGI::ProgressBar 模块出错
- java - JSON解析错误:无法构造...的实例(尽管至少存在一个创建者):没有字符串参数构造函数/工厂
- compilation - 将上下文无关语法转换为语法定向翻译
- python-3.x - 重复循环
- laravel - Laravel sanctum 令牌认证在模型绑定之后运行
- c# - Nuget包版本冲突.net核心虽然具有相同的版本
- typescript - TypeScript 库中的绝对导入打包为带有类型声明的 ES 模块
- vue.js - _axios.default.post.mockImplementationOnce 不是函数 VuesJS
- android - 如何使用 FireMonkey 在 iOS 上的默认应用程序中打开文件