думаю лучше хранить ссылки на товары, а не копировать товары - иначе можно не уследить за изменениями информации, и у юзера будет отображаться неактуальная информация,
ну и вообще
если это собирается на node/mongoose, то я бы начал с того, что в модели пользователя сделал
cart: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Item'
// массив айдишников айтемов из коллекции items
}]
и при запросе популировал бы этот массив cart
User.findOne({ _id: '......user id ......' }).populate('cart')
https://mongoosejs.com/docs/populate.html
дальше - по обстоятельствам ¯\_(ツ)_/¯