Current section

Files

Jump to
mongox lib mongo results.ex
Raw

lib/mongo/results.ex

defmodule Mongo.InsertOneResult do
@moduledoc """
The successful result struct of `Mongo.insert_one/4`. Its fields are:
* `:inserted_id` - The id of the inserted document
"""
@type t :: %__MODULE__{
inserted_id: nil | BSON.ObjectId.t
}
defstruct [:inserted_id]
end
defmodule Mongo.InsertManyResult do
@moduledoc """
The successful result struct of `Mongo.insert_many/4`. Its fields are:
* `:inserted_ids` - The ids of the inserted documents
"""
@type t :: %__MODULE__{
inserted_ids: [BSON.ObjectId.t]
}
defstruct [:inserted_ids]
end
defmodule Mongo.DeleteResult do
@moduledoc """
The successful result struct of `Mongo.delete_one/4` and `Mongo.delete_many/4`.
Its fields are:
* `:deleted_count` - Number of deleted documents
"""
@type t :: %__MODULE__{
deleted_count: non_neg_integer
}
defstruct [:deleted_count]
end
defmodule Mongo.UpdateResult do
@moduledoc """
The successful result struct of `Mongo.update_one/5`, `Mongo.update_many/5`
and `Mongo.replace_one/5`. Its fields are:
* `:matched_count` - Number of matched documents
* `:modified_count` - Number of modified documents
* `:upserted_id` - If the operation was an upsert, the upserted id
"""
@type t :: %__MODULE__{
matched_count: non_neg_integer,
modified_count: non_neg_integer,
upserted_id: nil | BSON.ObjectId.t
}
defstruct [:matched_count, :modified_count, :upserted_id]
end
defmodule Mongo.SaveOneResult do
@moduledoc """
The successful result struct of `Mongo.save_one/4`. Its fields are:
* `:matched_count` - Number of matched documents
* `:modified_count` - Number of modified documents
* `:upserted_id` - If the operation was an upsert, the upserted id
"""
@type t :: %__MODULE__{
matched_count: non_neg_integer,
modified_count: non_neg_integer,
upserted_id: nil | BSON.ObjectId.t
}
defstruct [:matched_count, :modified_count, :upserted_id]
end
defmodule Mongo.SaveManyResult do
@moduledoc """
The successful result struct of `Mongo.save_many/4`. Its fields are:
* `:matched_count` - Number of matched documents
* `:modified_count` - Number of modified documents
* `:upserted_ids` - If the operation was an upsert, the upserted ids
"""
@type t :: %__MODULE__{
matched_count: non_neg_integer,
modified_count: non_neg_integer,
upserted_ids: nil | BSON.ObjectId.t
}
defstruct [:matched_count, :modified_count, :upserted_ids]
end
defmodule Mongo.ReadResult do
@moduledoc false
defstruct [
:from,
:num,
:docs,
:cursor_id
]
end
defmodule Mongo.WriteResult do
@moduledoc false
# On 2.4 num_modified will always be nil
defstruct [
:type,
:num_inserted,
:num_matched,
:num_modified,
:num_removed,
:upserted_id,
:inserted_ids
]
end