88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# File 'lib/marklogic/collection.rb', line 88
def remove(query = nil, options = {})
if query.nil? || (query.is_a?(Hash) && query.empty?)
drop
else
if query.class == Hash
query = from_criteria(query)
elsif query.nil?
query = Queries::AndQuery.new()
end
xqy = %Q{cts:search(fn:collection("#{collection}"), #{query.to_xqy}, ("unfiltered")) / xdmp:node-delete(.)}
response = @database.connection.run_query(xqy, "xquery")
raise Exception.new("Invalid response: #{response.code.to_i}, #{response.body}") unless response.code.to_i == 200
end
end
|