Я играю с Mongo, чтобы сделать проект SO-like pet, и я хочу реализовать теги post. Каждый тег имеет имя и slug (строка, которая будет использоваться как идентификатор в URL-адресе), а сообщение имеет несколько тегов. Я хотел бы иметь возможность создавать запросы, такие как "найти сообщения, которые имеют тег A, не имеют тега B", и мне интересно, как это сделать mongo-way.
Один из способов заключается в том, чтобы хранить массив идентификаторов тегов с каждым сообщением - это упростит указанный запрос, но потребует дополнительного для каждого сообщения, чтобы получить имя тега и пул. Другой способ - сохранить массив каждого имени тега, тега slug, но я не уверен, что смогу использовать эту информацию в find
.
Есть ли другой метод, который лучше подходит для монго? Я новичок в NoSQL, поэтому я буду признателен за любые рекомендации о том, как это можно сделать. Кроме того, я использую привязку PHP, но это не должно иметь значения.