如何从Mongo 4.0到Mongo 3.6进行此查询

时间:2019-06-06 16:47:51

标签: python arrays mongodb pymongo aws-documentdb

如何使此查询在3.6 mongodb中也可以使用?

  def get_metadata(self, job_id_list):
    # Gets all the document attributes except for `xml` and `_id` field
    resultList = list(self.collection.find({'jobId': {"$in": job_id_list}}, {'xml': 0, '_id': 0}))
    return resultList

问题是,我们正在迁移使用documentdb,而documentDB默认运行mongo 3.6。

我一直收到此错误,我认为这是版本问题。

pymongo.errors.OperationFailure: $in array size must not be greater than 10000

1 个答案:

答案 0 :(得分:0)

MongoDB的问题不是 ,而是DocumentDB的问题。关于此问题,我只能在AWS上找到另一个搜索结果。

发布的问题:

  

仅供参考,我在DocumentDB中遇到此错误:

     
    

$ in数组大小不能大于10000

  
     

我检查了文档,但没有看到此限制。可以在MongoDB中使用更大的数组,而我在MongoDB的文档中找不到对数组的任何限制。

AWS的回复:

  

感谢您抽出宝贵的时间来报告问题。我们正在努力解决问题。修复程序推出后,我们将对此线程发布更新。

以上回复于2019年5月29日,即截至本回答的8天之前。这是他们当前正在解决的问题,但是缺少更新表明当前没有修复程序。您只需要等待,直到他们发布修复程序,然后解决该限制,或者继续使用MongoDB而不是DocumentDB,直到修复程序到位为止。