我下面的查找查询返回两个文档。我只希望它返回文档,其中类对象等于所有条件,而不仅仅是一个。
Documents
{name: 'James', classes: { classId: '1', wednesday: true}}
{name: 'Greg', classes: { classId: '1', thursday: true}}
查询
UserProfiles.find({
$and: [
{ 'classes.classId': 1 },
{ 'classes.wednesday': true },
],
});
答案 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});