2014-10-01 43 views
0

我需要從DictField(在本例中爲「content」)中刪除所有文檔中的特定列(在本例中爲「Paper ID」)。對於相同的對應蒙戈-shell腳本從MongoDB的DictField中刪除一列[Flask + MongoEngine]

db.list_input_file.update({},{$unset:{"content.Paper ID":1}}, false, true); 

我如何使用MongoEngine假設我的模型類被命名爲JListInputFile寫同樣的事情。同樣的documentation不是很有幫助。

回答

1

我想你遇到的問題是字段名這意味着你不能把它作爲一個關鍵字參數如空間:

JListInputFile.objects.update(unset__content__Paper ID=1) 

是否使用字典kwargs工作:

JListInputFile.objects.update(**{"unset__content__Paper ID": 1}) 
+0

啊!萬分感謝。 – 2014-10-02 13:36:44

+0

我覺得這很愚蠢,我想我曾經想過如何刪除一個列,重命名它會有一個類似的結構。但不幸的是,沒有稱爲重命名的構造。你可以幫助我使用示例重命名查詢嗎? – 2014-10-02 16:41:31

+0

你能幫助我嗎?另外,我發現將與DictionaryField相關的MongoDB查詢翻譯成MongoEngine查詢非常困難。你能指出一些我可以使用的教程嗎? – 2014-10-03 01:04:15