2014-09-24 47 views
1

我在文本字段上創建了索引,下面的查詢在Mongo中運行良好。在mongo db中使用python進行文本搜索

cursor = db.collection.find({ "$text" : { "$search": "stack" } },{ "score": { "$meta": "textScore" } }).sort({'score' : {'$meta': 'textScore'} }).skip(0).limit(4) 

但是當我運行它使用PyMongo,我得到以下錯誤:

TypeError: if no direction is specified, key_or_list must be an instance of list

+1

可能重複:// stackoverflow.com/questions/10242149/sorting-with-mongodb-and-python) – 2014-09-24 18:19:17

+0

不完全重複,因爲文本搜索的排序語法略有不同。 OP:請包括您給出錯誤的實際代碼。包含您正在使用的版本也是一個好主意。 – 2014-09-24 22:32:40

+0

@AsyaKamsky這是實際的代碼,這行特別給出了錯誤,我能夠運行其他查詢,我也能夠在mongo db終端中運行此查詢,但無法使用pymongo運行它 – 2014-09-25 04:52:50

回答

3

看看語法在pymongo docs的排序。

你不顯示您使用在Python什麼實際的語法,但它應該是這樣的頁面上的例子:用MongoDB的和python排序(HTTP的

cursor.sort([('score', {'$meta': 'textScore'})])