Как сохранить несколько фотографий профиля в NodeJS и Mongodb?

#node.js #mongodb #nosql

Вопрос:

Я новичок в mongodb, так что, пожалуйста, полегче.

Допустим, я создаю веб-сайт, на котором при создании профиля пользователи могут предоставлять несколько изображений профиля, которые будут представлены в виде карусели позже, когда другие проверят их профиль. Допустим, первое изображение, загруженное пользователем, должно быть первым изображением в карусели.

И пользователю разрешается изменять порядок отображения изображений, перетаскивая их вперед или назад в сеансе редактирования, чтобы решить, какое изображение будет показано первым. Ключ в том, что порядок можно редактировать

Согласно тому, что я узнал до сих пор, я создал простую структуру документа для хранения информации о пользователе, как показано ниже, где хранились имя пользователя и изображение профиля.

Но, таким образом, я застрял только на одной картинке. Могу ли я знать, как мне следует изменить таблицу, чтобы она позволяла хранить несколько изображений, а также порядок изображений.

Могу ли я знать, что я должен сделать, чтобы реализовать свою первоначальную функцию? Должно ли это быть сделано путем создания другой таблицы для хранения заказа?

Когда я говорю, что заказ можно редактировать, я говорю что-то вроде этого https://i2.wp.com/www.techjunkie.com/wp-content/uploads/2020/11/4-2-scaled.jpg?resize=690,1401amp;ssl=1

 [   { username: 'username_1',
      profile_image: 'path_of_the_image',
    },
    { username: 'username_2',
      profile_image: 'path_of_the_image',
    }

]
 

Комментарии:

1. Привет @шланг, не уверен, что именно ты ищешь. Но я думаю, что вам нужно отредактировать последовательность изображений, чтобы они отображались в режиме карусели. Для этого вы можете сохранять последовательность изображения вместе с путем к изображению в базе данных всякий раз, когда вы перетаскиваете изображение.

2. привет, @PHPGeek, Что касается части заказа изображений, я не совсем понимаю. Если пользователь изменит порядок imgaes, как я смогу его отслеживать ? Я немного обновил приведенное выше описание, надеюсь, теперь оно немного прояснилось, к вашему сведению, когда я сказал, что пользователи могут редактировать заказ, я говорю что-то вроде этого i2.wp.com/www.techjunkie.com/wp-content/uploads/2020/11/…

3. Вы можете хранить данные изображения профиля в массиве, например, profile_images: [ 'url_1', 'úrl_2', ... ] . Другой способ заключается в следующем: profile_images: [ { url: 'url_1', other_data: 'abc' }, { url: 'url_2', other_data: 'xyz' }, ... ] .

4. @prasad_ если это возможно, вы можете предоставить некоторую ссылку/пример о реализации обработки заказов в массиве. Например, как будет выглядеть nosql или node.js заявление выглядит так для таких случаев использования. Потому что, кажется, это было бы намного сложнее, чем пример, который я только что изучил до сих пор. Я действительно хочу увидеть какой-нибудь пример, чтобы получить некоторые подсказки для этого.

5. @prasad_ ,В окончательном варианте использования заказ будет упорядочен по заказам, которые пользователь размещает на изображении. Сейчас, на мой пробный набор данных, я думаю sth как : profile_images: [ { URL-адрес: ‘url_1’, Позиция: 1 }, { URL-адрес: ‘url_2’, позиция: ‘2’ }, … ] ; затем, когда пользователь изменить порядок такой i2.wp.com/www.techjunkie.com/wp-content/uploads/2020/11/… ; положение поля будут обновлены. Но таким образом, я никогда не смогу использовать функцию сортировки….