Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用 MongoMapper 的 find_or_create_by_attr 方法时,是否可以检查返回的结果是在数据库中找到的还是新创建的?
在查看了 MongoMapper 源代码后,我真的看不出有什么方法可以检测到这一点。我认为当您不在乎它是现有项目还是新项目时,可以使用该方法。如果你真的关心,你可能想把它分成一个 find_by_attr 调用,检查它是否存在,然后调用 create!如果没有。
您可以尝试MyModel.find_or_initialize_by_attr然后检查my_obj.persisted?并save在必要时致电。
MyModel.find_or_initialize_by_attr
my_obj.persisted?
save