在Mongoid中Upsert

Ale*_*dre 5 ruby upsert mongodb mongoid

在Mongoid中是否有内置的方法来进行upsert(如果不存在则插入)?或者我应该先检查一个项目是否存在,并且只有在那之后才能进行插入/更新?

gef*_*gef 4

Mongoid 中已经有内置的 upsert 方法

对文档执行 MongoDB 更新插入。如果数据库中存在该文档,它将被内存中文档的当前属性覆盖。如果数据库中不存在该文档,则会将其插入。请注意,这仅运行 {before|after|around}_upsert 回调。

摘自https://www.mongodb.com/docs/mongoid/7.3/tutorials/mongoid-persistence/