如何通过条件选择嵌套列表项来发出MongoDB请求?

时间:2019-01-19 12:35:38

标签: python mongodb

我有MongoDB集合,其中包含步骤列表({'id': 1, 'steps': [{'id': 1, 'status': 1}, {'id': 2, 'status': 3}]}, {'id': 2, 'steps': ...}

我想获取status> = 3

的步骤列表

我试图为嵌套项目指定条件

  1. ladders = db['ladders'].find({'steps.status': {'$gte': 3}})

  2. ladders = db['ladders'].find_one({'steps': {'$elemMatch': {'status': {'$gte': 3}}}})

  3. ladders = db['ladders'].find_one({'steps': {'$cond': {'status': {'$gte': 3}}}})

但返回: {'id': 1, 'steps': [{'id': 1, 'status': 1}, {'id': 2, 'status': 3}]}, {'id': 2, 'steps': ...}

我希望: {'id': 1, 'steps': [{'id': 2, 'status': 3}]}, {'id': 2, 'steps': ...}

0 个答案:

没有答案