CSV-файл mongoimport, содержащий столбец со значениями массива

Я новичок в MongoDB и пытаюсь импортировать CSV-файл, содержащий данные программы, в MongoDB. Одно из полей в CSV-файле (теги) содержит список значений как таковой:

Когда я импортирую это в mongoDB, все поле появляется в виде строки:

"tags": "[ethics.philosophy.plato]"

Есть ли способ, которым я могу редактировать это поле (либо в команде импорта, либо манипулировать данными в базе данных) так, чтобы поле тега представляло собой массив значений, подобных этому:

"tags": ["этика", "философия", "платон"]

Я просмотрел онлайн и пролистал документацию mongoDB mongoimport, но не нашел подходящего решения. Заранее спасибо!

1 ответ

Решение

После импорта CSV выполните эту команду.

db.whatevercollection.find().snapshot().forEach(function (el) {
   el.tags = el.tags.split('.');  
 db.whatevercollection.save(el); 
});

Изменить: ваш CSV содержит квадратные скобки.

    db.whatevercollection.find().snapshot().forEach(function (el) {
    el.tags=el.tags.substring(1,el.tags.length-1);     
    el.tags = el.tags.split('.');  
         db.whatevercollection.save(el); 
});
Другие вопросы по тегам