如何使这个查询从 Mongo 4.0 到 Mongo 3.6

How to make this query form Mongo 4.0 to Mongo 3.6

如何使此查询在 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

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

已发布问题:

FYI, I ran into this error with DocumentDB:

$in array size must not be greater than 10000

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

AWS 的回应:

Thanks for taking the time to report the issue.We are working on a fix. We will post an update to this thread once the fix is rolled out.

以上回复时间为 2019 年 5 月 29 日,也就是本次回复的 8 天前。这是他们目前正在努力解决的问题,但缺少更新表明目前不存在修复程序。您只需等到他们发布修复程序并解决限制或继续使用 MongoDB 而不是 DocumentDB 直到修复程序到位。