首页 > 解决方案 > mongodb使用and子句查询文档内的数组

问题描述

我有一个包含用户 ID 和当前日期的数组。我的查询应该返回用户 ID 等于我的用户 ID 并且日期应该小于另一个日期的所有结果。这就是我尝试的方式:

{ participantData: { $not: { $gte: firstDay }}, userid: userid }

查询不返回任何数据。请在附件中找到文档的截图: 应该返回这个文档

标签: mongodbmongodb-query

解决方案


您需要$elemMatch以便您可以通过匹配数组的同一元素中的条件进行过滤

{ participantData: { $elemMatch: { userid: "xyz", date: { $lte: firstDay } } } }

推荐阅读