2017-03-06 110 views
0

所以我有一类红宝石DataMapper的对象查询

=>#9} @signature_metrics = { “警报[1:485:4]”=> 9} @src_ips = {“93.21.29.12 “=> 9,”0.0.0.0“,3} @dst_ips = {”10.15.255.135“=> 9} @ created_at = 2017年3月4日星期六17:31:59 UTC +00:00 @ updated_at =星期六, 04 2017年3月18时02分02秒UTC +00:00>

=> [#<DataMapper::Property::Serial @model=Cache @name=:id>, #<DataMapper::Property::Integer @model=Cache @name=:sid>, #<DataMapper::Property::Integer @model=Cache @name=:cid>, #<DataMapper::Property::ZonedTime @model=Cache @name=:ran_at>, #<DataMapper::Property::Integer @model=Cache @name=:event_count>, #<DataMapper::Property::Integer @model=Cache @name=:tcp_count>, #<DataMapper::Property::Integer @model=Cache @name=:udp_count>, #<DataMapper::Property::Integer @model=Cache @name=:icmp_count>, #<DataMapper::Property::Object @model=Cache @name=:severity_metrics>, #<DataMapper::Property::Object @model=Cache @name=:signature_metrics>, #<DataMapper::Property::Object @model=Cache @name=:src_ips>, #<DataMapper::Property::Object @model=Cache @name=:dst_ips>, #<DataMapper::Property::ZonedTime @model=Cache @name=:created_at>, #<DataMapper::Property::ZonedTime @model=Cache @name=:updated_at>] 

从那里我想查询@ cache.all(src_ids => '93 .21.29.12' ),这是行不通的。

如何查询以匹配包含在“src_ips”字段中的所有行作为键“0.0.0.0”?

回答

1

您可以使用where

records = Cache.where(src_ips: "0.0.0.0") 
+0

类是DataMapper的资源 “哪里” 不可用。 –