我有一个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的所有功能。我正在寻找最佳建议。