2013-07-01 43 views
0

我覺得這應該是微不足道的。在pymongo查詢中投射場

我有這樣的記載:

{'f1' : 1, 'f2' , 'aaaa'}

當我查詢,我要退貨:

{'f1' : '1', 'f2' , 'aaaa'}

在那裏我簡單地把INT爲字符串。我不相信我應該使用聚合框架來實現這一點。

我想有一些方法可以傳遞一個JS函數,但我不知道那個魔法。

編輯: 在一定程度上回答我自己的問題。用聚合框架來做到這一點。這將是如此簡單。

db.datasets.aggregate({$match : {f1:{$ne:null}}},{ $project : {f1: {$toUpper:"$f1"}, f2 : 1 }})

+0

這是一個無效的哈希你那裏 –

回答

0

既不的MongoDB也不PyMongo提供這樣的特徵。您可以嘗試添加一個"SON manipulator"來轉換傳出文檔(即從數據庫中檢索文檔)。但到目前爲止最簡單的方法是:

for doc in db.datasets.find(): 
    doc['f1'] = str(doc['f1']) 
    do_something_with(doc) 
+1

這不會爲我工作,我不能(不願)來處理客戶端的結果。 我可能最終會採用上面發佈的聚合方法。 – bearrito