Mongoid不会删除Mongo对象

时间:2011-07-28 16:01:03

标签: ruby mongodb sinatra mongoid

我正在使用Sinatra和Mongoid来访问MongoDB。除了当我尝试删除一个对象时,大部分工作都很好,该对象被删除但似乎保留在数据库中。

 u = User.find(user_id)
 u.delete

这似乎工作并且不会产生错误,但是当我使用Mongo控制台检查数据库以确认这一点时,该对象仍然存在。用户对象不在上限集合中。

 u = User.find(user_id)
 u.delete
 u = User.find(user_id)

此更改确实会生成错误,这意味着该对象已成功删除。尽管如此,在Mongo控制台中,对users集合的find()调用仍会显示该对象。

1 个答案:

答案 0 :(得分:1)

虽然未从数据库中删除MongoDB对象,但会向对象添加“deleted_at”参数,该参数指示何时“删除”。之后,在搜索中找不到该对象。