У меня есть файл csv, который я импортировал в проект Meteor, я обновил файл csv (добавил пару колонок с данными) и хочу повторно импортировать файл csv. Если я просто импортирую его снова, будет ли он перезаписан первым? Или у меня будет две коллекции с одинаковым именем? Как лучше всего это сделать?

flimflam57

Ответов: 1

Ответы (1)

Если вы повторно импортируете файл, он будет выполнять вставку, а не обновление коллекции. Итак, если ваша коллекция имеет уникальный ключевой индекс на поле (например, _id, потому что по умолчанию _id индексируется и уникален) и это поле является столбцом в csv-файле. При повторном импорте mongodb выдаст ошибку, сообщив, что вы нарушили уникальное ограничение уникальности, и остановится, ваши старые данные останутся нетронутыми.

.

Если нет, то у вашей коллекции нет другого уникального ключевого индекса, а _id не является столбцом в csv-файле. Тогда при повторном импорте в коллекции будут дублирующиеся записи со старыми данными и новыми данными, которые вы только что импортировали.

В любом случае, результат не тот, которого вы хотели.

Вы не можете иметь 2 коллекции с одинаковым именем в одной базе данных.

Самый простой способ: если ваши данные не важны, вы можете просто удалить коллекцию и импортировать ее снова

В противном случае вам придется обновить документ в mongodb (используя консоль mongo или написав скрипт)

.

2022 WebDevInsider