mongodb - 注释和版本的猫鼬模式
问题描述
我想像这样在猫鼬中创建一个模式
用户可以通过给出标题和内容来创建新笔记用户可以更新笔记,这将创建笔记的新版本每个版本的笔记可以单独查询。
我使用 Mysql 并且是 MongoDB 的新手,请给我建议一个模式,我如何插入新注释,更新节点?
解决方案
背景
首先,我认为值得您阅读有关基于文档的数据库以及 MongoDB 如何实现这一点的内容。这些是很好的读物:
https://www.ibmbpnetwork.com/linux-blog/mongodb-architecture
https://medium.com/chingu/an-overview-of-mongodb-mongoose-b980858a8994
架构
关于您的问题,可能有很多答案,尤其是:
如何插入新笔记,更新节点?
我会将您的user
架构链接到 a 的架构note
,如下所示:
var notesSchema = mongoose.Schema({
title: String,
description: String,
user: [{ type: Schema.Types.ObjectId, ref: 'User' }],
created_at: { type: Date, default: Date.now },
updated_at: { type: Date, default: Date.now }
...
...
});
您的用户模式将在其他地方定义(假设您可以这样做?)。阅读“子文档”并查看它是否更适合您的模型也可能很有用。
注意:添加您需要的字段,默认情况下所有字段都是可选的,可能对description
&有用title
。
我不确定你希望你的笔记有多大,但请记住
唯一的限制是 16MB 的最大文档大小
所以你如何存储这个,我会让你决定。
要插入新注释,您需要调用您的 API,这也是相当模糊的,并且可以根据您的设计以多种方式完成。
Mongoose 可以很容易地插入文档和更新文档。
推荐阅读
- angular - Angular 面试问题 - 如果“this”开关是一个组件,你会如何设计它?
- webpack - 如何部署动态 webpack javascript 块文件
- jquery - 根据类向 daterangepicker 单元格添加标题
- html - 全高页面出现问题,底部页面有白条
- jquery - 如何使用 jQuery 更新数据表中的所有多行?
- python - 关于scrapy的产量?
- c# - 如何解决Entity Framework:已经有一个打开的DataReader,多个上下文
- amazon-web-services - 在 AWS 市场上发布我们的产品
- r - R 等效于 PRINCOMP 过程中的 SAS“BY”语句
- jquery - 动态数据属性的jQuery排序功能