C# 如何在MongoDb中指定日期、月份和日期
难以从客户处查询Birtday(日期时间)C# 如何在MongoDb中指定日期、月份和日期,c#,mongodb,nosql,C#,Mongodb,Nosql,难以从客户处查询Birtday(日期时间) Query<Customer>.Where(a => a.Birthday.Month == startDate.Month && a.Birthday.Day == startDate.Day) 这是我提出的解决方案 var script = new BsonJavaScript("return ((this.Birthday.getMonth() == 0) && (this.Birthday.g
Query<Customer>.Where(a => a.Birthday.Month == startDate.Month && a.Birthday.Day == startDate.Day)
这是我提出的解决方案
var script = new BsonJavaScript("return ((this.Birthday.getMonth() == 0) && (this.Birthday.getDate() == 5))");
var mongoQuery = MongoDB.Driver.Builders.Query.Where(script);
var ret = GetCollection<Customer>().Find(mongoQuery);
var script=newbsonjavascript(“return((this.birth.getMonth()=0)和&(this.birth.getDate()=5));
var mongoQuery=MongoDB.Driver.Builders.Query.Where(脚本);
var ret=GetCollection().Find(mongoQuery);
如果您能够更改模式,我建议您这样做,并用嵌入式文档替换生日:
{
_id: Object(),
FirstName: string,
...
Birthday: {
date: ISODate(),
year: int,
month: int,
day: int
}
}
并在首次插入文档之前预先计算应用程序逻辑中的年、月和日。这将允许您在问题中指定的查询
在解决方案中使用
$where
对于查询来说效率非常低,在插入时消耗成本可能是值得的。我认为我们需要更多关于客户模型的详细信息来帮助。更新了问题。谢谢
{
_id: Object(),
FirstName: string,
...
Birthday: {
date: ISODate(),
year: int,
month: int,
day: int
}
}