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