我是新的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
好吧。这更清楚。 –