2010-06-16 95 views
3

我想創建一個DBRef手動,以便我可以添加一個額外的字段。然而,當我試圖通過如下:如何使用pymongo手動創建DBRef?

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

Pymongo引發錯誤:

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

這似乎是pymongo儲備$的特殊鍵,導致我不知道這是連有可能做我想做的事情?

回答

3

可能不希望手動創建它們,因爲DBRefs中的鍵需要進行排序。我們可以添加一個選項來創建一個具有自定義kwargs的DBRef實例,這可以解決您的問題。如果你爲此提交一個jira,我們應該能夠在即將發佈的版本中獲得它。

+0

是的,我在這裏簡潔地使用了dict語法。我最初使用了一個SON對象,就我所知,它維護着按鍵順序。但是,鍵仍然拒絕讓我使用$。 – Soviut 2010-06-18 19:23:06

+0

http://jira.mongodb.org/browse/PYTHON-133請求的功能。 – Soviut 2010-06-18 19:43:11

+0

Gotcha。也許我們應該特別爲DBRef讓你手動創建,但我認爲你的JIRA案例是一個更好的解決方案。將嘗試儘快解決這個問題。 – mdirolf 2010-06-18 19:46:43