有关ReactiveMongo插入的建议

时间:2018-12-05 16:31:36

标签: mongodb scala reactivemongo

我有一个Scala类,如下所示

use IO::Handle;
STDOUT->autoflush(1);

说我想为特定case class Foo(id : String, items : List[Item]) case class Item (name : String) 的mongo集合添加一个新项目。做这个的最好方式是什么?

目前,我有一种方法可以如下插入新的Foo

id

但是问题是,如果我只想将另一个项目添加到特定的foo中,则不会这样做。这只会添加整个foo。

我看了看文档,发现可以用collection.flatMap(_.insert(foo)) 来完成我想做的事情。

我当时在想我的方法应该有一些逻辑,以便它可以执行以下操作:

push

我不想进行更新,因为我认为性能损失会很高,因为mongo必须搜索所有项目以查看是否已经存在,然后进行更新或插入。我的物品将始终是唯一的,因此应立即插入。

有更好的方法吗?我不确定mongo的所有功能。我正在寻找最佳建议。

0 个答案:

没有答案