Вернуть либо значение флага, либо BSON ObjectId - PullRequest
0 голосов
/ 16 декабря 2011

Я пишу программу на Java, используя MongoDB.У меня есть один класс с функцией, которая может иметь один из трех результатов:

  1. Найдите подходящий объект для ввода функции в коллекцию MongoDB, найдите ее и верните ее ObjectId.
  2. Как и выше, но не найти его;создайте его и верните его ObjectId.
  3. Входные данные не подходят для начала;вернуть вызывающему абоненту какое-то значение флага, которое указывает, что он просто игнорирует этот ввод.

Первые два случая просты.Я не уверен, какую ценность я могу вернуть за третье.Пустой объектный идентификатор типа 000000000000 отклоняется как недопустимый.

Решения, о которых я могу подумать, - это возвращать объектные идентификаторы как строки и позже возвращать их обратно в объектные идентификаторы (тогда я могу вернуть любую строку типа флага, какую захочу длятретий случай), или создайте фиктивный элемент базы данных, который фактически не будет иметь никакого результата (но где я могу отслеживать его ObjectId, чтобы мне не приходилось его искать?).Есть лучшие идеи о том, как подойти к этому?

1 Ответ

1 голос
/ 16 декабря 2011

Я бы вернул исключение для третьего случая.

...