Справочная информация
Во-первых, я думаю, что вам стоит прочитать о базах данных на основе документов и о том, как MongoDB реализует это. Это хорошие чтения:
https://www.ibmbpnetwork.com/linux-blog/mongodb-architecture
https://medium.com/chingu/an-overview-of-mongodb-mongoose-b980858a8994
Схема
Относительно вашего вопрос, может быть много ответов на это, особенно:
как вставить новую заметку, обновить узел?
Я хотел бы иметь вашу схему user
ссылка на схему 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
.
Я не уверен, насколько большой вы ожидаете, что ваши заметки будут, но помните
единственное ограничение - 16 МБ максимальный размер документа
Так как вы сохраните это, я дам вам решать.
Чтобы вставить новые заметки, вам нужно позвонить в API, опять же, это довольно расплывчато и может быть сделано разными способами в зависимости от вашего дизайна.
Пн goose может легко вставлять и обновлять документы.