Mongoid не удаляет объекты Mongo - PullRequest
2 голосов
/ 28 июля 2011

Я использую 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 () для коллекции users по-прежнему показывает объект.

1 Ответ

1 голос
/ 29 июля 2011

Пока объект MongoDB не удаляется из базы данных, к объекту добавляется параметр «delete_at», который указывает, когда он был «удален».После этого объект не будет найден в поисках.

...