我正在使用 Sinatra 和 Mongoid 访问 MongoDB。它的大部分工作正常,除了当我尝试删除一个对象时,该对象被删除但似乎保留在数据库中。
u = User.find(user_id)
u.delete
这似乎有效并且不会产生错误,但是当我使用 Mongo 控制台检查数据库以确认这一点时,该对象仍然存在。用户对象不在上限集合中。
u = User.find(user_id)
u.delete
u = User.find(user_id)
此更改确实会产生错误,这意味着对象已成功删除。尽管如此,在 Mongo 控制台中,对用户集合的 find() 调用仍会显示该对象。
最佳答案
虽然 MongoDB 对象没有从数据库中删除,但对象中添加了一个“deleted_at”参数,指示它何时被“删除”。之后将不会在搜索中找到该对象。
关于ruby - Mongoid 不删除 Mongo 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6862014/