我在使用Mongomapper时在Rails中享受着非常了不起的MongoDB,但我在删除记录时遇到了问题。使用Mongomapper在Rails中删除记录
删除记录并删除整个文档的方式是什么?
我试过使用Stuff.destroy_all,但它似乎崩溃的Web服务器。
我在使用Mongomapper时在Rails中享受着非常了不起的MongoDB,但我在删除记录时遇到了问题。使用Mongomapper在Rails中删除记录
删除记录并删除整个文档的方式是什么?
我试过使用Stuff.destroy_all,但它似乎崩溃的Web服务器。
对不起,这没有很好的记录。我正在为此打开一个问题。
查看class methods和instance methods。
my_doc.destroy # fires callbacks
my_doc.delete # no callbacks, just removes it from the database
MyDoc.destroy_all # fires callbacks, shouldn't crash...!
MyDoc.delete_all # no callbacks
MyDoc.destroy("b965105ea203368234636df2", "368234636df21c64f05358a4")
MyDoc.delete("b965105ea203368234636df2", "368234636df21c64f05358a4")
是的,我已经偶然发现了几次在MongoMapper中删除东西。这种技术似乎还有工作:
MessageLog.destroy_all(:created_at.gte => @start_time)
我花了一段时间才能找出为什么delete_all
是SOOOOO要比快destroy_all
:-P
而且delete_all
和destroy_all
也作为勇敢的方法,这样你就可以做这样的事情:
MyDoc.where(status: 'unneeded').delete_all
MyDoc.where(status: 'unneeded').destroy_all
取决于如果你想避免回调(delete_all
)或执行它们(destroy_all
)上。