Как устаревать и автоматически удалять истекшие записи в MongoDB с помощью C #? [Дубликат]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

3
задан Philipp 10 October 2014 в 12:55
поделиться

2 ответа

Хотя ответ Филпа весьма полезен. Есть и другой способ. Вы можете добавить новое поле в свою коллекцию, которое хранит временную метку для serviceId и имеет два индекса TTL отдельно друг от друга на timestamp, а другой на serviceIdTimestamp.

0
ответ дан cubbuk 19 August 2018 в 12:05
поделиться

Нет, индекс TTL не содержит условной логики, кроме if field < now - expireAfterSeconds then delete document.

Однако может возникнуть обходное решение, которое может работать в вашей ситуации: когда у вас есть конкретная дата в будущем, вы хотите, чтобы ваш документ истекал, вы можете добавить поле expireDate, которое вы установили в будущем в будущем, когда вы хотите, чтобы документ истекал. Когда вы создадите индекс с expireAfterSeconds до 0, каждый документ будет удален, когда его expireDate пройдет. Этот трюк позволяет вам иметь документы с разными TTL в одной коллекции.

3
ответ дан Philipp 19 August 2018 в 12:05
поделиться
  • 1
    Ударь меня тоже :) – Dreamwalker 10 October 2014 в 13:02
  • 2
    Вы уверены, что в коллекции не может быть более одного индекса TTL. Например, один другой индекс в поле метки времени и другой индекс TTL на поле serviceIdTimestamp? – cubbuk 10 October 2014 в 13:07
  • 3
    @cubbuk После прочтения документации я не являюсь, поэтому я изменил эту часть своего ответа. – Philipp 10 October 2014 в 13:08
  • 4
    Поэтому я думаю, что одно решение может быть и таким, но ваше предложение довольно элегантно =) – cubbuk 10 October 2014 в 13:09
  • 5
    @cubbuk Вы можете написать второй ответ, чтобы описать несколько TTL-индексов в качестве альтернативного решения. – Philipp 10 October 2014 в 13:10
Другие вопросы по тегам:

Похожие вопросы: