2010-06-16 3 views
3

Я хочу создать DBRef вручную, чтобы добавить к нему дополнительное поле. Однако, когда я пытаюсь передать следующее:Как вручную создать DBRef с помощью pymongo?

{'$ref': 'projects', '$id': '1029412409721', 'project_name': 'My Project'} 

PyMongo вызывает ошибку:

pymongo.errors.InvalidName: key '$id' must not start with '$' 

Казалось бы, что PyMongo оставляет за собой $ для специального ключа, что приводит меня задаться вопросом, если это даже можно делать то, что я пытаюсь сделать?

ответ

3

Возможно, вы не хотите создавать их вручную, так как ключи в DBRefs нужно заказывать. Мы могли бы добавить вариант создания экземпляра DBRef с пользовательскими kwargs, хотя это и решило бы вашу проблему. Если вы напишете jira для этого, мы сможем выпустить его в предстоящем выпуске.

+0

Да, я использовал синтаксис dict для краткости здесь. Первоначально я использовал объект SON, который, насколько я могу судить, поддерживает порядок клавиш. Тем не менее, ключи все еще отказались позволить мне использовать $. – Soviut

+0

http://jira.mongodb.org/browse/PYTHON-133 Запрошенная функция. – Soviut

+0

Gotcha. Может быть, нам нужен специальный случай для DBRef, чтобы вы могли создавать вручную, но я думаю, что ваш случай JIRA - лучшее решение. Постараюсь скоро это выяснить. – mdirolf

 Смежные вопросы

  • Нет связанных вопросов^_^