次のような Ruby Association クラスがあります。
class Association
include Mongoid::Document
field :issued, type: Integer
field :lifetime, type: Integer
end
そして、コレクション内のすべてのドキュメントを削除したいと思いdoc.issued + doc.lifetime > Time.now
ます。Web で次の構文を見つけました。
Association.delete_all(["issued + lifetime > ?", Time.now.to_i])
これを機能させることができず、次のエラーが発生します。
TypeError: can't convert Symbol into Integer
from /var/lib/gems/1.9.1/gems/mongoid-3.1.0/lib/mongoid/persistence.rb:298:in `[]'
from /var/lib/gems/1.9.1/gems/mongoid-3.1.0/lib/mongoid/persistence.rb:298:in `delete_all'
from (irb):77
from /usr/bin/irb:12:in `<main>'
この構文の何が問題なのか、または機能する別の構文を提案してくれる人はいますか?