我希望能够拥有一个可以根据日期过滤的API。所以你传递了类似下面的东西:
dob: {
date: new Date("5/22/1955"),
filter: 'lt'
}
这应该返回DOB小于日期的所有记录,但是如果" gte"在过滤器中传递,而不是它应该返回DOB大于或等于日期的所有记录。
显然,Mongo查询将是
dobQuery = {dob: {gte: data.dob.date}};
dobQuery = {dob: {lt: data.dob.date}};
但我怎么能让这个有条件?我想写这样的东西,但当然这不起作用:
dobQuery = {dob : {"$" + data.dob.filter: data.dob.date}};
我该如何写出来?
答案 0 :(得分:1)
使用括号表示法以编程方式构建dobQuery
:
dobQuery = {dob: {}};
dobQuery.dob['$' + data.dob.filter] = data.dob.date;