Pymongo:查询Mongo文档中的特定列表元素

时间:2016-04-06 18:26:37

标签: mongodb mongodb-query pymongo

我问了一个与此here相关的上一个问题但请说我的文档如下所示:

{
   'foo':1
   'listOfLists' : [ [1,2],[3,4],.... ]
}

我怎样才能查询listOfLists字段中条目的第一个元素是否与某个值匹配?从我之前的问题

collection.find({'listOfLists' : {'$elemMatch' : {'$eq': [3,4] } } })

会匹配文档,但是如果我只想检查第一个元素是否为3呢?上一个问题告诉我,对于直接匹配,我不需要使用$elemMatch,但是我可以使用它进行第一次元素检查吗?也许像是

collection.find({'listOfLists' : {'$elemMatch' : 3 } })

我认为这不应该工作,因为它会尝试将列表与整数进行比较。有任何想法吗?感谢。

1 个答案:

答案 0 :(得分:0)

您似乎可以执行以下操作:

collection.find({'listOfLists': {'$elemMatch': {'0': {"$eq": 3}}}})

在这种情况下,{"$eq": 3}部分只会应用于listOfLists内部子列表的第一个元素。