Я попытался в этой модели в соответствии с моими требованиями. Мне нужно сохранить дату, когда когда-либо создается объект. Я хочу получить все записи (документы) между двумя датами в моем html-файле. Я использовал следующий формат: mm / dd / yyyy
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script>
//jquery
$(document).ready(function(){
$("#select_date").click(function() {
$.ajax({
type: "post",
url: "xxx",
datatype: "html",
data: $("#period").serialize(),
success: function(data){
alert(data);
} ,//success
}); //event triggered
});//ajax
});//jquery
</script>
<title></title>
</head>
<body>
<form id="period" name='period'>
from <input id="selecteddate" name="selecteddate1" type="text"> to
<input id="select_date" type="button" value="selected">
</form>
</body>
</html>
в моем файле py (python) я преобразовал его в «iso fomate» следующим образом
date_str1 = request.POST["SelectedDate1"]
SelectedDate1 = datetime.datetime.strptime(date_str1, '%m/%d/%Y').isoformat()
и сохранен в моей коллекции dbmongo с помощью «SelectedDate» «как поле в моей коллекции
для извлечения данных или документов между двумя датами, которые я использовал в следующем запросе
db.collection.find( "SelectedDate": {'$gte': SelectedDate1,'$lt': SelectedDate2}})
Как вы думаете, почему этот подход не будет оптимизирован? Обратный порядок Компаратор
просто изменит знак вывода фактического Компаратора
(или вывода из compareTo
на Comparable
], и поэтому я могу представить, что это происходит очень быстро.
Альтернативное предложение: вместо изменения порядка, в котором вы храните элементы, вы можете перебирать их в порядке убывания с помощью DesndingIterator ()
метод.
TreeSet<Integer> treeSetObj = new TreeSet<Integer>(new Comparator<Integer>()
{
public int compare(Integer i1,Integer i2)
{
return i2.compareTo(i1);
}
});
нужно перевернуть результат. Но я думаю, что это просто микрооптимизация ... Вам это действительно нужно?
TreeSet :: declndingSet
В Java 6 и более поздних версиях существует метод TreeSet
, называемый спускающийсяSet ()
, производящий Объект интерфейса NavigableSet
.
public NavigableSet declndingSet ()
Нисходящий набор поддерживается этим набор, поэтому изменения в наборе отражается в нисходящем множестве, и наоборот. Если какой-либо набор изменен в то время как итерация по любому набору равна в процессе (кроме собственная операция удаления итератора), результаты итерации неопределенный.
Возвращенный набор имеет порядок, эквивалентный
Collections.reverseOrder (компаратор ()). Выражение s.descendingSet ().нисходящийSet () возвращает вид s по существу эквивалент s.
Определено: DesndingSet в интерфейсе NavigableSet
Возврат: вид в обратном порядке этого набора С: 1.6