Skip to content

Commit f5ba735

Browse files
authored
Merge pull request #116 from mcmorisi/DOCSP-45190-bulk-write
DOCSP-45190: Bulk Write
2 parents 7699cfb + ce616db commit f5ba735

File tree

2 files changed

+404
-0
lines changed

2 files changed

+404
-0
lines changed

source/includes/write/bulk-write.rb

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
require 'bundler/inline'
2+
gemfile do
3+
source 'https://rubygems.org'
4+
gem 'mongo'
5+
end
6+
7+
uri = "<connection string>"
8+
9+
Mongo::Client.new(uri) do |client|
10+
# start-db-coll
11+
database = client.use('sample_restaurants')
12+
collection = database[:restaurants]
13+
# end-db-coll
14+
15+
# start-bulk-insert-one
16+
insert_one = { insert_one: { name: 'Steve Rogers Cafe', borough: 'Brooklyn' } }
17+
# end-bulk-insert-one
18+
19+
# start-bulk-update-one
20+
update_one = { update_one:
21+
{
22+
filter: { name: 'Mountain View' },
23+
update: { '$set': { borough: 'Queens' } }
24+
}
25+
}
26+
# end-bulk-update-one
27+
28+
# start-bulk-update-many
29+
update_many = { update_many:
30+
{
31+
filter: { name: 'Starbucks' },
32+
update: { '$set': { cuisine: 'Cafe' } }
33+
}
34+
}
35+
# end-bulk-update-many
36+
37+
# start-bulk-replace-one
38+
replace_one = { replace_one:
39+
{
40+
filter: { name: 'Old World Diner' },
41+
replacement: { '$set': { name: 'New Age Luncheonette' } }
42+
}
43+
}
44+
# end-bulk-replace-one
45+
46+
# start-bulk-delete-one
47+
delete_one = { delete_one: { name: 'Old World Diner' } }
48+
# end-bulk-delete-one
49+
50+
# start-bulk-delete-many
51+
delete_many = { delete_many: { name: 'Starbucks' } }
52+
# end-bulk-delete-many
53+
54+
# start-bulk-write-mixed
55+
insert_one = { insert_one: { name: 'Nuovo Ristorante', borough: 'Brooklyn', cuisine: 'Italian' } }
56+
update_one = { update_one:
57+
{
58+
filter: { name: 'Moonlit Tavern' },
59+
update: { '$set': { borough: 'Queens' } }
60+
}
61+
}
62+
delete_many = { delete_many: { name: 'Crepe' } }
63+
writes = [insert_one, update_one, delete_many]
64+
collection.bulk_write(writes)
65+
# end-bulk-write-mixed
66+
67+
# start-bulk-write-unordered
68+
options = { ordered: false }
69+
collection.bulk_write(writes, options)
70+
# end-bulk-write-unordered
71+
end

0 commit comments

Comments
 (0)