我需要从datestart字段获得给定的月份数据。
public DateTime? datestart { get; set; }
我尝试了以下代码。但这没有用。不返回结果。
string givenMonth = "5"; //May
thisMonthQuery = Query<ProjectModel>.Match(
q => q.Field(f => f.datestart.Value.Month.ToString()).Query(givenMonth));
您不能使用匹配查询在日期字段中搜索月份。日期字段不会像文本字段一样分成不同的标记,因此您无法按月搜索。
您需要为此使用脚本查询
.Script(sn => sn
.Inline("doc['datestart'].value.monthOfYear==param1")
.Params(p => p.Add("param1", 5))
)
您还可以创建文本类型的子字段并使用匹配查询,但随后您的输入也可以匹配日期部分!。