MongoDB массив превратился в строку в базе данных - PullRequest
2 голосов
/ 24 октября 2019

У меня проблема с анализом массива Mongo / express. Массив из тела кажется правильным, когда я отклика console.log в консоли узла. Но проблема в том, что когда я пытаюсь сохранить тело в mongo.db с помощью метода insert.one, сообщение сохраняется, но массив превращается в строку, что мне плохо.

Это то, что яотправка в Монго (данные в порядке, я console.log это, массив здесь не является строкой)

{
  createdBy: this.userName,
  postContent: this.post,
  tags: this.tags,
  addedAt: new Date()
};

И это то, что хранится в базе данных

enter image description here

Обновление: когда я жестко кодирую массив в полезную нагрузку, он корректно отображается как массив в монго. Но, конечно, проблема все еще существует для динамических данных

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

Используйте тип данных как массив - 4 и используйте .pretty ().

Обычно, если вы используете метод find (), возвращает данные в плотном формате. С помощью cursor.pretty () вы можете установить курсор, чтобы он возвращал данные в формате, который легче анализировать людям

0 голосов
/ 24 октября 2019

Вы должны иметь возможность использовать анализ JSON вместе с заменой, чтобы заставить его принять строку в виде массива, например:

const array = JSON.parse(this.tags.replace(/'/g, '"'));

Затем установите для тегов значение array:

tags: array
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...