У меня есть вопрос о создании индекса в MongoDB.Индексирование в MongoDB - это лучший способ
Скажите, что у меня есть коллекция коллекций пользователей и групп.
user {
name : "" ,
age : 19
}
group {
name : ""
members : [],
posts : [ { date : "" , author : "" , topic : "" }, { date : "" ,
author : "" , topic : "" } ......]
}
Там может быть 1000-группы, и каждая группа может иметь миллионы сообщений. Операции Я часто выполняю это:
- получать сообщения, основанные на дату (70%)
- сообщений обновляемых (30%)
Таким образом, по существу, мне нужно индексировать на сегодняшний день.
Мой вопрос:
Должен ли я создать новую коллекцию сообщений, как
posts {
name : "", date : "" , author : "" , topic : ""
}
и создать индекс одного значения на сегодняшний день в коллекции сообщений
(db.posts.ensureIndex({posts : 1}))
ИЛИ
Должен ли я включать po sts внутри объекта группы и создать встроенный индекс , такой как db.groups.ensureIndex({ posts.date : 1})
Какой из них более эффективен? Какова наилучшая практика, если это необходимо для масштаба для миллионов сообщений?
Благодаря