MongoDB の日付値を粒度でソートすることは可能ですか?
結果を日付順に並べたいのですが、時間/分/秒のデータは気にしません。「20101215」のような追加のパラメーターを保存する必要はありません。
MongoDB の日付値を粒度でソートすることは可能ですか?
結果を日付順に並べたいのですが、時間/分/秒のデータは気にしません。「20101215」のような追加のパラメーターを保存する必要はありません。
あなたの質問に対する短い答えは「いいえ」です。別のフィールドを保存しないと不可能です。Mongoでソートするときにb/cをしたくない可能性があるとしても、ソートするフィールドにインデックスを付ける必要があります。そうしないと、データベースはソートを行うためにデータベース内のすべてのドキュメントをスキャンする必要があります。したがって、提案していることを行う場合は、mongo では不可能な部分的な日付フィールドにもインデックスを付ける必要があります。
最良のアプローチは、年/月/日用と時/分/秒用の 2 つのフィールドを保存することだと思います。そうすれば、並べ替えとインデックス作成の柔軟性が高まります。おそらくあなたが望むほどきれいでも理想的でもありませんが、それがデータベースの唯一のオプションです。
もう 1 つのオプションは、結果が戻ってきた後にアプリケーションで順序を調整することです。