У меня уже давно возник тот же вопрос о MongoDB. Поэтому я пытаюсь сохранить некоторые пользовательские данные для пользователей, которые приглашают моего бота в свою гильдию. Он хранит их на основе идентификатора гильдии и идентификатора пользователя, потому что один пользователь может находиться на нескольких серверах с одним и тем же ботом. Мне было интересно, правильно ли будет сделать один документ для каждой гильдии и добавить каждого пользователя в этот документ, или мне нужно сделать отдельный документ для каждого пользователя с ключом идентификатора гильдии и ключом идентификатора пользователя.
Например, я приложил к этому сообщению 2 фотографии, первая содержит один документ с полем «Пользователи», вложенным в объект с ключом в качестве идентификатора гильдии, используемого для запросов. Во втором представлен отдельный документ для каждого пользователя с отдельным ключом «Идентификатор пользователя» и «Идентификатор гильдии», используемым для запросов.
Файл с несколькими документами
Любая помощь приветствуется. Заранее спасибо.
Это идея, что вы можете сделать. Таким образом, вы можете извлекать данные и агрегировать их любым удобным для вас способом, и у вас не будет ненужной вложенности. Простой и гибкий
// Guild Schema
{
guildId: Number,
guildName: String,
other: String
}
// User Schema
{
userId: Number,
guild: {
type: Schema.Types.ObjectId,
ref: "Guild"
},
userInfo:{
name: String,
address: String,
other: String
}
}
Затем вы должны пометить этот ответ как правильный, проявите немного любви в ответ :)
Извините, я новичок в stackoverflow.
Большое спасибо за быстрый ответ. Выглядит в самый раз, теперь буду пользоваться этой моделью. Спасибо еще раз :))