Монго: две коллекции с нумерацией страниц (в одном списке в формате HTML) - PullRequest
0 голосов
/ 10 мая 2018

В настоящее время в нашей системе есть две отдельные коллекции: invites и users.Таким образом, мы можем отправить кому-то invite, и к этому invite будет прикреплена некоторая информация, которая будет сохранена в коллекции invites.Если user регистрирует свою учетную информацию, она сохраняется в коллекции users.

Не каждый user должен иметь invite, и не каждый invite должен иметь user,Мы проверяем, есть ли у user invite (или наоборот) по адресу email, который в этом случае хранится в обеих коллекциях.

Изначально на нашей панели инструментов у нас был обзор пользователя, на которой есть страница, где вы можете видеть текущих пользователей и разбивать страницы между ними.

Теперь нам нужна одна страница (и одна таблица), в которой мы можем просматривать как приглашения, так и пользователей и разбивать их на страницы.

Допустим, наши данные выглядят так:

invites: [ { _id: "5af42e75583c25300caf5e5b", email: "john@doe.com", name: "John" }, { _id: "53fbd269bde85f02007023a1", email: "jane@doe.com", name: "Jane" }, ... ]

users: [ { _id: "53fe288be081540200733892", email: "john@doe.com", firstName: "John" }, { _id: "53fd103de08154020073388d", email: "steve@doe.com", firstName: "Steve" }, ... ]

Примечания.

  • Некоторые пользователи могут быть сопоставлены с приглашением по электронной почте (но это не обязательно)
  • Некоторые приглашения никогда не регистрируются
  • Имена полей не всегдаточно такой же

Можно ли составить нумерованный список всех emails и отсортировать по ним?Таким образом, если есть email, который начинается с a в коллекции invites, он выбирается перед email, который начинается с b в коллекции users и т. Д. И затем используется offset /limit до paginate через него.

По сути, я хочу "объединить" две коллекции в нечто, похожее на представление MySQL, и иметь возможность запрашивать это, как если бы вся эта вещь была одной коллекцией.

Я предпочитаю искать решение, не меняя структуру данных в коллекции (как проецируемое изображение или что-то в этом роде).Но части кода уже полагаются на данную структуру.Что в свете этого нового требования не может быть лучшим подходом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...