Здравствуйте. Возникла проблема при работе с PyMongo - не могу осуществить добавление в базу посредством поиска, так как не могу толком организовать поиск. Итак, имеется массив вида
Да да, это порносайт. Я пытаюсь спарсить названия категорий на разных языках. Для общего обозначения храню часть URL (тут это "18" и "3d"), а в словарь ключа загружаю язык и перевод на этом языке. Получается, что главные ключи будут неизменны, а словарь ключа будет расширяться. И тут то и возникла проблема с database.find({}). Я не знаю, к чему обращаться. Как добавить в подсловарь новые значения и ключ?
JRazor: Я бы наверно сделал так:
db.col.update({_id:url}, {$set: {lang: value}}, false, true)
Что делает:
1) идентификатором (ключем) будет "кусок url", т.е. не будет дублей
2) 4-й параметр = true - это upsert, создает документ если он не существует
3) $set добавляет/обновляет значение по ключу в документе.
По идее этой, одной команды должно хватить для этой задачи.
Эх, только что отдал заказчику. Реализовал по хитрому: {'name': 'кусок_url', 'data': {'lang1': 'value1', 'lang2': 'value2'}}. Поиск, естественно, осуществлять стало легче и все заработало. Но я очень признателен за ваш вариант. Не последний раз с Mongo работаем :) Спасибо!