搜索mongodb数组字段并获得匹配频率的结果

时间:2016-07-24 10:44:28

标签: python django mongodb

我在给定格式的集合中有一个mongoDb文档。

{
   "_id" : ObjectId("4e8ae86d08101908e1000001"),
   "data_id" : 111,
   "names" : ["data1","data2","data3","data4", ----  n size]
}

{
   "_id" : ObjectId("4e8ae86d08101908e1000001"),
   "data_id" : 112,
   "names" : ["data1","data2","data7","data8", ----  n size]
}

{
   "_id" : ObjectId("4e8ae86d08101908e1000001"),
   "data_id" : 113,
   "names" : ["data1","data9","data10","data11", ----  n size]
}

我想编写一个查询,其中我应该提供一个单词数组,比如[“data1”,“data2”,“data11”],它应该给我所有文件都有来自提供的参数的单词,但它应该维护根据找到的最大单词得出结果的顺序,即从论证中出现最大单词的文档应该出现在顶部。

请告诉我如何使这个查询运行得更快。

我将使用django后端的这个查询。

我的django模型是这样的。

  class Data(models.Model):
      data_id = models.IntegerField(required=True)
      names = ListField()

0 个答案:

没有答案