对字段使用随机uuid时upsert无法正常工作

nuypyhwy  于 2021-07-14  发布在  Java
关注(0)|答案(0)|浏览(220)

我遇到一个问题,如果我使用一个表示随机uuid的字符串作为case类中的一个字段,mongodb中的upsert函数就不能正常工作,因为它不能插入记录。
例如,我有一个简单的case类,比如

case class Foo(id : String, date : String)

我为这个类示例化了一个值,如下所示

val value = Foo(java.util.UUID.randomUUID.toString, "2019-10-11")

然后我将其插入mongo集合,如下所示:

collection.findAndUpdate(BSONDocument("id" -> value.id), value, upsert = true).map(_.result[Foo])

集合初始是空的,因此逻辑应该是它应该插入 value 因为它不在那里。但事实并非如此。
如果我改变 id 生成字段值,如下所示:

val value = Foo("123-ABC", "2019-10-11")

然后它工作了,我把唱片插入收藏。
randomuuid的典型值类似于80eedffc-3e49-488b-8274-5711ad984a0c。这是蒙哥不能接受的还是我做错了什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题