Получить ссылки, содержащие тег «value»:
db.col.find({tags: "value"});
Получить ссылки, содержащие теги «val1», «val2»:
db.col.find({tags: { $all : [ "val1", "val2" ] }});
Получить список всех тегов без повторения:
db.col.distinct("tags");
Получить самые популярные теги - это не то, что может быть запрошено на существующей базе данных, вам нужно добавить поле популярности, обновлять его всякий раз, когда запрос извлекает документ, изатем выполните запрос с полем сортировки, установленным на популярность.
Обновление : предлагаемое решение для функции популярности.Попробуйте добавить следующую коллекцию, назовем ее тегами.
doc = {tag: String, pop: Integer}
теперь, когда вы выполняете запрос, вы собираете все показанные теги (этиможет быть агрегировано и выполнено асинхронно) поэтому предположим, что в итоге вы получите следующие теги: «tag1», «tag2», «tag3».
Затем вы вызываете метод update и увеличиваете значение поля pop:
db.tags.update({tag: { $in: ["tag1", "tag2", "tag3"] }}, { $inc: { pop: 1 }});