В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Хотя ответ Филпа весьма полезен. Есть и другой способ. Вы можете добавить новое поле в свою коллекцию, которое хранит временную метку для serviceId и имеет два индекса TTL отдельно друг от друга на timestamp
, а другой на serviceIdTimestamp
.
Нет, индекс TTL не содержит условной логики, кроме if field < now - expireAfterSeconds then delete document
.
Однако может возникнуть обходное решение, которое может работать в вашей ситуации: когда у вас есть конкретная дата в будущем, вы хотите, чтобы ваш документ истекал, вы можете добавить поле expireDate
, которое вы установили в будущем в будущем, когда вы хотите, чтобы документ истекал. Когда вы создадите индекс с expireAfterSeconds
до 0, каждый документ будет удален, когда его expireDate
пройдет. Этот трюк позволяет вам иметь документы с разными TTL в одной коллекции.