我有MongoDB集合,其中包含步骤列表({'id': 1, 'steps': [{'id': 1, 'status': 1}, {'id': 2, 'status': 3}]}, {'id': 2, 'steps': ...}
)
我想获取status
> = 3
我试图为嵌套项目指定条件
ladders = db['ladders'].find({'steps.status': {'$gte': 3}})
ladders = db['ladders'].find_one({'steps': {'$elemMatch': {'status': {'$gte': 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': ...}