我是新的MongoDB,我想創建一個查詢。MongoDB查詢與pymongo排序功能
我有一個列表,例如:mylist = [a,b,c,d,e]
我的數據集有一個類似的列表中的一個關鍵:mydatalist = [b,d,g,e]
我想創建一個查詢,將返回所有包含來自MYLIST至少一個數據。
我做了什麼。
query = {'mydatalist': {'$in': mylist}}
selector = {'_id':1,'name':1}
mydata = collection.find(query,selector)
這是完美的工作。我唯一想做的和我不能做的就是根據他們在mydatalist中擁有的mylist數據的數量對結果進行排序。有沒有辦法在查詢中做到這一點,或者我必須在光標後手動執行此操作?
更新一個例子:
mylist = [a,b,c,d,e,f,g]
#data from collection
data1[mydatalist] = [a,b,k,l] #2 items from mylist
data2[mydatalist] = [b,c,d,e,m] #4items from mylist
data3[mydatalist] = [a,u,i] #1 item from mylist
所以,我想要的結果進行排序的數據2 - >數據1 - > DATA3
所以你的問題是,你想排序在'mydatalist'結果爲您的文件按順序[按字母升序]? –
@NeilLunn更新了一個例子。請看看 – Tasos
好吧。這更清楚。 –