mongodb-driver v0.6.0 Mongo.BulkOps View Source
This module defines bulk operation for insert, update and delete. A bulk operation is a tupel of two elements
- an atom, which specify the type
:insert
,:update
and:delete
- a document or another tupel which contains all parameters of the operation.
You use these function in streams:
Example
alias Mongo.UnorderedBulk
alias Mongo.BulkOps
Filestream!("large.csv")
|> Stream.map(&String.trim(&1))
|> Stream.map(&String.split(&1,","))
|> Stream.map(fn [firstname | [lastname | _]] -> %{firstname: firstname, lastname: lastname} end)
|> Stream.map(fn doc -> BulkOps.get_insert_one(doc) end)
|> UnorderedBulk.write(:mongo, "bulk", 1_000)
|> Stream.run()
Link to this section Summary
Functions
Returns an delete_many
operation for appending to a bulk. Used to perform stream bulk writes.
Returns an delete_one
operation tupel for appending to a bulk. Used to perform stream bulk writes.
Returns an insert_one
operation tupel for appending to a bulk. Used to perform stream bulk writes.
Returns an replace_one
operation for appending to a bulk. Used to perform stream bulk writes.
Returns an update_many
operation for appending to a bulk. Used to perform stream bulk writes.
Returns an update_one
operation for appending to a bulk. Used to perform stream bulk writes.
Link to this section Types
bulk_op()
View Source
bulk_op() ::
{atom(), BSON.document()}
| {atom(), {BSON.document(), Keyword.t()}}
| {atom(), {BSON.document(), BSON.document(), Keyword.t()}}
bulk_op() :: {atom(), BSON.document()} | {atom(), {BSON.document(), Keyword.t()}} | {atom(), {BSON.document(), BSON.document(), Keyword.t()}}
Link to this section Functions
get_delete_many(doc)
View Source
get_delete_many(BSON.document()) :: bulk_op()
get_delete_many(BSON.document()) :: bulk_op()
Returns an delete_many
operation for appending to a bulk. Used to perform stream bulk writes.
Example
Mongo.BulkOps.get_delete_many(%{name: "Waldo"})
{:delete, {%{name: "Waldo"}, [limit: 0]}}
get_delete_one(doc)
View Source
get_delete_one(BSON.document()) :: bulk_op()
get_delete_one(BSON.document()) :: bulk_op()
Returns an delete_one
operation tupel for appending to a bulk. Used to perform stream bulk writes.
Example
Mongo.BulkOps.get_delete_one(%{name: "Waldo"})
{:delete, {%{name: "Waldo"}, [limit: 1]}}
get_insert_one(doc)
View Source
get_insert_one(BSON.document()) :: bulk_op()
get_insert_one(BSON.document()) :: bulk_op()
Returns an insert_one
operation tupel for appending to a bulk. Used to perform stream bulk writes.
Example
Mongo.BulkOps.get_insert_one(%{name: "Waldo"})
{:insert, %{name: "Waldo"}}
get_replace_one(filter, replacement, opts \\ [])
View Source
get_replace_one(BSON.document(), BSON.document(), Keyword.t()) :: bulk_op()
get_replace_one(BSON.document(), BSON.document(), Keyword.t()) :: bulk_op()
Returns an replace_one
operation for appending to a bulk. Used to perform stream bulk writes.
Example
Mongo.BulkOps.get_replace_one(%{name: "Waldo"}, %{name: "Greta", kind: "dog"})
{:update, {%{name: "Waldo"}, %{kind: "dog", name: "Greta"}, [multi: false]}}
get_update_many(filter, update, opts \\ [])
View Source
get_update_many(BSON.document(), BSON.document(), Keyword.t()) :: bulk_op()
get_update_many(BSON.document(), BSON.document(), Keyword.t()) :: bulk_op()
Returns an update_many
operation for appending to a bulk. Used to perform stream bulk writes.
Example
Mongo.BulkOps.get_update_many(%{name: "Waldo"}, %{"$set" : %{name: "Greta", kind: "dog"}})
{:update,
{%{name: "Waldo"}, %{"$set": %{kind: "dog", name: "Greta"}}, [multi: true]}}
get_update_one(filter, update, opts \\ [])
View Source
get_update_one(BSON.document(), BSON.document(), Keyword.t()) :: bulk_op()
get_update_one(BSON.document(), BSON.document(), Keyword.t()) :: bulk_op()
Returns an update_one
operation for appending to a bulk. Used to perform stream bulk writes.
Example
Mongo.BulkOps.get_update_one(%{name: "Waldo"}, %{"$set" : %{name: "Greta", kind: "dog"}})
{:update,
{%{name: "Waldo"}, %{"$set": %{kind: "dog", name: "Greta"}}, [multi: false]}}