1

我正在使用 Mongoapper 在 Rails 中享受非常棒的 MongoDB,但我在删除记录时遇到了问题。

删除记录以及删除整个文档的公认方式是什么?

我尝试使用 Stuff.destroy_all 但它似乎使 Web 服务器崩溃。

4

3 回答 3

4

对不起,这没有很好的记录。我正在为此打开一个问题。

请参阅类方法实例方法

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")
于 2012-06-07T13:22:50.733 回答
1

是的,我在 MongoMapper 中删除内容时曾多次跌跌撞撞。这种技术似乎也有效:

MessageLog.destroy_all(:created_at.gte => @start_time)

我花了一段时间才弄清楚为什么delete_alldestroy_all:-p 快得多

于 2012-06-13T23:58:27.610 回答
0

并且delete_alldestroy_all可以用作 Plucky 方法,因此您可以执行以下操作:

MyDoc.where(status: 'unneeded').delete_all
MyDoc.where(status: 'unneeded').destroy_all

取决于您是要避免回调 ( delete_all) 还是执行回调 ( destroy_all)。

于 2014-02-19T01:44:27.983 回答