我需要查询以下内容:
Programs.find({ Teachers: { Week1: { Sunday: $elemMatch: { $eq: "MATT EDWARDS"}}}}).count();
...但是该领域"第1周和第34周;需要是一个动态的价值;它取决于变量的值。变量是:
var week = "Week" + Session.get('CurrentWeek').substr(0, 1);
直接替换不会起作用:
Programs.find({ Teachers: { week: { Sunday: $elemMatch: { $eq: "MATT EDWARDS"}}}}).count();
我不确定如何构建对象,可以在查询中读取。
答案 0 :(得分:3)
您只是构建一个对象以传递给Programs.find()。你可以利用这个事实
object.property
是
的简写object["property"]
您可以使用变量而不是字符串文字,从而可以通过以下方式实现目标:
var query = { Teachers: {} };
var week = "Week" + Session.get('CurrentWeek').substr(0, 1);
query.Teachers[week] = { Sunday: $elemMatch: { $eq: "MATT EDWARDS" } };
Programs.find(query).count();