MongoDB查找查询返回太多文档

时间:2018-08-10 02:48:55

标签: mongodb meteor

我下面的查找查询返回两个文档。我只希望它返回文档,其中类对象等于所有条件,而不仅仅是一个。

Documents

{name: 'James', classes: { classId: '1', wednesday: true}}
{name: 'Greg', classes: { classId: '1', thursday: true}}

查询

UserProfiles.find({
  $and: [
    { 'classes.classId': 1 },
    { 'classes.wednesday': true },
  ],
});

2 个答案:

答案 0 :(得分:0)

在这里找到答案。 Mongo Query On Multiple Fields Of Sub-Document

仅供参考:

您应该使用$elemMatch

UserProfiles.find({
  classes: {
    $elemMatch: {
      classId,
      [weekday]: true,
    },
  },
})

答案 1 :(得分:-1)

默认情况下,MongoDB find使用'$ and'重写查询...

UserProfiles.find({“ classes.classId”:'1',“ classes。wednesday”:true});