function cleanUniqueDocument(request) {
return arr = [], elements = [], Promise.all(request.map( async (e) => {
return elements.map(function(i) { return i.tags }).indexOf(e.tags.join()) < 0 && elements.push({
href: e.url,
tags: e.tags.join()
}) || (e.canonical = elements.find(x => x.tags === e.tags.join()).href) && arr.push(e)
}))
.then(e => {
return arr || []
})
}
Не нужно создавать 3 коллекции для разных видов оружия, ведь их характеристики и сама структура более менее схода между собой и правильнее будет добавить поле в одной коллекции по которому и различать виды оружия.
Это как с постами:
У меня на одном проекте пользователи собирают коллекции из "постов", так вот там я использую массив, хорошо это или плохо, работает все отлично
Есть скажем посты (db.posts)
И есть коллекция которую создал пользователь (db.collections)
Ничего плохого не вижу в использовании такой структуры, и если подумать о будущем и о том что какой то пользователь решит добавить миллион постов к свою коллекцию, то можно банально сделать ограничение скажем на 10000 постов в одной коллекции.