Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (8)
  • Как правильно ориганизовать комментарии при использовании Mongo DB?

    @b0beR
    Я считаю, что лучше всего хранить комментарии и информацию о пользователях отдельно. Соответственно каждому комментарию прописывать ObjectID автора (ну или просто id числом). Куча запросов в данном случае совершенно не нужна. Нужно всего лишь после получения списка комментариев пройти по ним и сложить все id авторов в массив, после чего сделать ОДИН запрос, и получить всех авторов (естественно только те поля которые нужны). Примерно так:
    authors = db.users.find({"_id": {"$in": authors_ids_array}}, {«nickname»: 1, «photo»: 1});
    Собственно запрос по индексированному полю будет моментален, даже при большом количестве запрашиваемых пользователей. После этого соотнести комментарии с полученными пользователями я думаю уже проблем не составит :)
    Отдельно по поводу хранения самих комментариев. Тут есть 2 варианта.
    Если вам нужна будет возможность довольно часто делать выборку всех комментариев определенного автора, то под комментарии лучше всего создать отдельную коллекцию (то есть хранить каждый комментарий в отдельном документе), с индексированными полями author_id и topic_id. Но в таком случае количество документов в коллекции может вырасти до огромных масштабов.
    Если же таких запросов не будет, либо они будут довольно редкими, то быстрее и удобнее хранить все комментарии определенного материала массивом в документе этого самого материала, и тогда не нужно будет обращаться к другой коллекции при получении материала и его комментариев. Запрос всех комментариев определенного автора в таком случае тоже возможен, хотя и будет несколько медленнее.
    Ответ написан
    3 комментария
  • СПб, ночное кафе/интернет-кафе/кофейня с Wi-Fi?

    @b0beR
    Ну я, например, иногда работаю в «Кофе Хауз». Они по всему городу на каждом углу, там приличный кофе, всегда есть wi-fi и розетки. Адреса можете посмотреть у них на сайте.
    Ответ написан
    3 комментария
  • Простой и надежный менеджер паролей

    @b0beR
    Отличный вариант 1password. Он и отдельным приложением, и плагины для браузеров. Есть под разные платформы. Пользуюсь уже давно, впечатления только хорошие.
    Ответ написан
    Комментировать