#mongodb #mongoose #mongodb-query
#mongodb #mongoose #mongodb-запрос
Вопрос:
Я пытаюсь найти наилучший способ разработки схемы mongodb, которая удобна для обработки значений в другой схеме.
Я хочу обрабатывать сообщения на основе значений в пользовательской схеме. Итак, я хочу, например, обрабатывать сообщения в зависимости от пола создателя. Хотя мне трудно найти лучший способ сделать это.
Текущее решение, которое я вижу, заключается в том, чтобы запрашивать каждого пользователя, являются ли они мужчинами, а затем запрашивать схему сообщений на основе этих идентификаторов пользователей. Но накладные расходы на это будут довольно значительными, если количество пользователей велико. И размещение сообщений в виде встроенного документа в user-schema не подойдет, поскольку он, вероятно, достигнет предела в 16 МБ.
Схема пользователя
User: {
email: abc@abc.com,
password: banana,
gender: male,
messages:[
{messageId: 123},
]
}
Схема сообщения
Message: {
id: 123,
text: "hi",
}
Комментарии:
1. Используйте правильный индекс . Поиск по одному параметру на самом деле не проблема, даже с миллионами документов.
2. Но проблема в том, что из пользовательской схемы можно получить несколько идентификаторов, которые позже будут использоваться для получения документов сообщений. Сложность была бы довольно экстремальной. Хотя, вероятно, это плохая идея запрашивать так много для задачи обработки.