Доброе время суток. Не сочтите за глупый вопрос но все же. На сервер mongodb я создал несколько баз:
1) todos (использует для хранения задач ) 2) users (используется для хранения пользовательских данных)
В базе todos есть коллекция tasks в документе хранится поле owner которое мне мне необходимо чтобы идентифицировать пользователя которых создал задачу. В тоже время в базе users храниться коллекция с документом содержащим поле ObjectId("56c658bbcdc91848503259f5"). Как я могу связать эти две базы воедино, чтобы при поисковом запросе найти все задачи пользователя ObjectId("56c658bbcdc91848503259f5") мне выводились все документы из базы todos которые создал пользователь с таким ид? Заранее спасибо за ответы. Сам я понимаю что дурак, но я только начал изучать монго с нодом:)
Антон Уланов: зачем что то "плодить" ? одна БД, коллекция users, коллекция todos, в todos поле owner, по этому полю делаете индекс и потом получаете все документы пользователя в todos одним запросом db.todos.find({owner: user_id})
допустим я дописал модуль todos он работает и выполняет все функции которые я в него заложу, затем я захочу написать чат для этих же пользователей, как мне быть в этом случае? прощу прощение за такое количество глупых вопросов. в данный момент я как почемучка :)
чтобы при поисковом запросе найти все задачи пользователя ObjectId("56c658bbcdc91848503259f5") мне выводились все документы из базы todos которые создал пользователь с таким ид? Заранее спасибо за ответы
Без разницы где коллекция users, её может вообще не быть, вы же все равно в запросе будете фильтровать по ИД.
Вот зачем брать NoSQL БД, а потом спрашивать, как тут делать типичные для реляционных баз вещи.
Нужны связи - бери postgresql какой-нибудь. Или меняй схему и храни задачи вместе с пользователем в 1 документе. Зачем использовать инструмент не по назначению?
Но если уж приспичило, то читай тут. Не знаю, есть ли join'ы на уровне БД в монге, но если чо, их можно сделать программно в 2 запроса.