检查是否在MongoMapper中新创建了结果

时间:2012-04-07 11:57:04

标签: ruby mongodb mongomapper

使用MongoMapper的find_or_create_by_attr方法时,是否可以检查返回的结果是在数据库中找到还是新创建的?

2 个答案:

答案 0 :(得分:2)

在查看MongoMapper源代码之后,我真的没有办法检测到它。我认为当您不关心它是现有项目还是新项目时,会使用该方法。如果你关心,你可能想把它分成一个find_by_attr调用,检查它是否存在,然后调用create!如果没有。

答案 1 :(得分:1)

您可以尝试MyModel.find_or_initialize_by_attr然后检查my_obj.persisted?并在必要时致电save