尝试在双重嵌套数组中使用$elemMatch
时出现问题:
假设我有这个a
文档:
a = {'cart': [[{'id': 1, 'count': 1}, {'id': 2, 'count': 3}], [{'id': 1, 'count': 5}]]}
我想在id
为1且count
大于2时选择一个文档:
但此查询将选择a
out。在
然后我尝试了以下问题:
db.cart.find_one({'cart': {'$elemMatch': {'id': 1, 'count': {'$gt': 2}}}})
db.cart.find_one({'cart': {'$elemMatch': {'id': 2, 'count': {'$gt': 2}}}})
db.cart.find_one({'cart.0': {'$elemMatch': {'id': 1, 'count': {'$gt': 2}}}})
db.cart.find_one({'cart.0': {'$elemMatch': {'id': 2, 'count': {'$gt': 2}}}})
但所有人都没有回报。在
那么$elemMatch
是否支持嵌套数组匹配?如果是这样,我该如何调整查询?在
考虑到数组中有一个数组,我想您可以尝试类似的方法
相关问题 更多 >
编程相关推荐