/year/month/day
タイプ URLを使用するようにブログを変換する作業を行っています。しかし、私はコンセプトに関してかなり悪い問題に遭遇しました。時間/分単位の解像度のみにしたいのですが、もちろん、すべてのエントリは可能な限りフルタイムで保存されます (それを変更したくありません)。
MongoDB で特定の日付を特定性の低い日付に解決するにはどうすればよいですか? 10gen の .Net 用の公式 MongoDB マッパーを使用しています。
私のデータモデルは次のようになります:
public class BlogEntryData
{
[BsonId]
public ObjectId ID;
public string Title;
public string Text;
public DateTime Posted;
public DateTime Edited;
public List<string> Tags;
[BsonDefaultValue(true)]
public bool Publish;
}
を使用してブログのエントリを取得します
var c=Config.GetDB().GetCollection<BlogEntryData>("entries");
BlogEntryData entry;
try
{
entry=c.FindOneByIdAs<BlogEntryData>(new ObjectId(RouteParams["id"]));
}
catch
{
throw new HttpException(404,"Blog entry not found");
}
if(entry==null)
{
throw new HttpException(404,"Blog entry not found");
}
数値検索フィールドなどのIDの代わりに使用するように変更する方法は知っていますが、日付に対してクエリを実行したことはありません。
あと、余談ですがエントリーモデルに非正規化した「URLの日付」を文字列として格納した方が良いのでしょうか?インデックスが日付などで適切に機能しなかった場合にのみ、これを行いたいと思います