使用MongoMapper的find_or_create_by_attr方法时,是否可以检查返回的结果是在数据库中找到还是新创建的?
答案 0 :(得分:2)
在查看MongoMapper源代码之后,我真的没有办法检测到它。我认为当您不关心它是现有项目还是新项目时,会使用该方法。如果你关心,你可能想把它分成一个find_by_attr调用,检查它是否存在,然后调用create!如果没有。
答案 1 :(得分:1)
您可以尝试MyModel.find_or_initialize_by_attr
然后检查my_obj.persisted?
并在必要时致电save
。