Можно ли сделать приращение с монгоимпортом? - PullRequest
1 голос
/ 22 августа 2011

Я пытаюсь импортировать данные в формате JSON в коллекцию MongoDB, используя mongoimport и файлы, сохраненные на диске. Все это прекрасно работает, но мне нужно увеличивать определенное поле («хиты» на единицу) всякий раз, когда есть дубликаты, возможно, с использованием оператора $ inc. Как я могу это сделать? Возможно ли это?

Пример записи из файла выглядит следующим образом:

{"date":"2011","loc":{"lon":"-95.3436","lat":"29.0335"},"hits":1}

Мой оператор импорта выглядит следующим образом:

mongoimport --host localhost --db tst --collection year --file y.json --upsert --upsertFields date,loc

Я пробовал с / без "--upsert" / "--upsertFields", который здесь не помогает.

Любой совет высоко ценится!

1 Ответ

0 голосов
/ 23 августа 2011

Нет, это невозможно с mongoimport , он будет импортировать только те данные, которые были переданы. Вы можете написать скрипт для анализа файлов JSON и внесения изменений перед импортом;или импортируйте его в Mongo, затем создайте запрос, чтобы изменить данные, как только они окажутся в базе данных.

...