【发布时间】:2011-12-16 05:46:14
【问题描述】:
我正在使用 MongoDB 编写 Java 程序。我有一个类,其功能可能具有以下三种结果之一:
- 在 MongoDB 集合中为函数的输入寻找合适的对象,找到它,并返回它的 ObjectId。
- 如上,但没找到;创建它,并返回它的 ObjectId。
- 输入结果不适合开始;向调用者返回某种标志值,指示忽略该输入。
前两种情况很简单。我不确定我可以为第三个返回什么样的价值。像 000000000000 这样的虚拟 ObjectId 因无效而被拒绝。
我能想到的解决方案是将 ObjectIds 作为字符串返回,稍后再将它们转换回 ObjectIds(然后我可以为第三种情况返回任何我想要的标志类型字符串),或者创建一个实际上意味着的虚拟数据库项没有结果(但我在哪里跟踪它的 ObjectId,所以我不必继续查找它?)。关于如何解决这个问题有更好的想法吗?
【问题讨论】:
-
正如@milan 所说。或者为什么要保存不合适的输入?
-
在项目的早期阶段,我正在用它做一些事情......我确实想将它标记为不合适,所以如果再次遇到它,我不会'不要理会它。但是,正如你们都指出的那样,异常现在的设置方式更有意义,我可以在那里处理它。