Удалить по идентификатору в mongoid - PullRequest
3 голосов
/ 31 марта 2012

Есть ли в Mongoid одна команда для удаления объекта с использованием идентификатора?

Что-то вроде,

ClassName.delete(:id)

В настоящее время я не вижу ничего подобного, и я использую,

obj = ClassName.find(:id)
obj.delete

Может ли быть лучше?

Ответы [ 2 ]

3 голосов
/ 18 июня 2013

Другой путь

ClassName.any_in(:_id => ["id1", "id2"]).destroy_all
2 голосов
/ 31 марта 2012

Вы можете сделать что-то вроде следующего:

ClassName.delete_all(conditions: { _id: BSON::ObjectId("whatevertheidis")})

Вам нужно подчеркнуть в _id, иначе оно не будет работать.

Кроме того, это может не иметь значения, но destroy_all будет запускать методы обратного вызова модели, в то время как delete_all не имеет.

...