返回标志值或BSON ObjectId



我正在使用MongoDB编写Java程序。我有一个类,它的函数可能有三种结果之一:

  1. 在MongoDB集合中为函数的输入寻找合适的对象,找到它,并返回它的ObjectId。
  2. 和上面一样,但是找不到;创建它并返回它的ObjectId。
  3. 输入结果不适合开始;向调用者返回某种标志值,表示忽略该输入。

前两种情况很简单。我不确定第三个能返回多少值。像000000000000这样的假ObjectId被视为无效而拒绝。

我能想到的解决方案是将ObjectId作为字符串返回,然后将它们转换回ObjectId(然后我可以为第三种情况返回任何标记类型的字符串),或者创建一个实际上意味着没有结果的虚拟数据库项(但是我在哪里跟踪它的ObjectId,所以我不必一直查找它?)。有更好的解决办法吗?

对于第三种情况,我将返回一个异常。

最新更新