mongoid 7.1.1 → 7.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/mongoid/association/embedded/embeds_many.rb +2 -1
- data/lib/mongoid/association/embedded/embeds_one.rb +2 -1
- data/lib/mongoid/association/proxy.rb +1 -1
- data/lib/mongoid/atomic.rb +13 -3
- data/lib/mongoid/criteria.rb +7 -1
- data/lib/mongoid/criteria/modifiable.rb +2 -1
- data/lib/mongoid/criteria/queryable/extensions/numeric.rb +1 -1
- data/lib/mongoid/criteria/queryable/extensions/regexp.rb +3 -3
- data/lib/mongoid/criteria/queryable/mergeable.rb +75 -8
- data/lib/mongoid/criteria/queryable/selectable.rb +28 -8
- data/lib/mongoid/extensions/hash.rb +4 -2
- data/lib/mongoid/extensions/regexp.rb +1 -1
- data/lib/mongoid/fields.rb +2 -1
- data/lib/mongoid/matchable/regexp.rb +2 -2
- data/lib/mongoid/persistable/pushable.rb +4 -1
- data/lib/mongoid/persistence_context.rb +6 -6
- data/lib/mongoid/query_cache.rb +2 -1
- data/lib/mongoid/validatable/uniqueness.rb +1 -1
- data/lib/mongoid/version.rb +1 -1
- data/lib/rails/generators/mongoid/model/templates/model.rb.tt +1 -1
- data/spec/integration/app_spec.rb +192 -0
- data/spec/integration/associations/embedded_spec.rb +54 -0
- data/spec/integration/criteria/logical_spec.rb +13 -0
- data/spec/lite_spec_helper.rb +11 -4
- data/spec/mongoid/association/embedded/embeds_many_models.rb +19 -0
- data/spec/mongoid/association/embedded/embeds_many_spec.rb +10 -0
- data/spec/mongoid/association/embedded/embeds_one_spec.rb +0 -2
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +2 -1
- data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +2 -1
- data/spec/mongoid/clients/options_spec.rb +2 -2
- data/spec/mongoid/clients/sessions_spec.rb +8 -4
- data/spec/mongoid/clients/transactions_spec.rb +20 -8
- data/spec/mongoid/clients_spec.rb +2 -2
- data/spec/mongoid/contextual/atomic_spec.rb +22 -11
- data/spec/mongoid/contextual/map_reduce_spec.rb +20 -5
- data/spec/mongoid/contextual/mongo_spec.rb +76 -53
- data/spec/mongoid/criteria/queryable/extensions/regexp_spec.rb +7 -7
- data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +1 -1
- data/spec/mongoid/criteria/queryable/mergeable_spec.rb +45 -12
- data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +480 -198
- data/spec/mongoid/criteria_spec.rb +4 -2
- data/spec/mongoid/document_persistence_context_spec.rb +33 -0
- data/spec/mongoid/indexable_spec.rb +6 -4
- data/spec/mongoid/matchable/default_spec.rb +1 -1
- data/spec/mongoid/matchable/regexp_spec.rb +2 -2
- data/spec/mongoid/matchable_spec.rb +2 -2
- data/spec/mongoid/query_cache_spec.rb +2 -1
- data/spec/mongoid/relations/proxy_spec.rb +1 -1
- data/spec/mongoid/scopable_spec.rb +2 -1
- data/spec/mongoid/shardable_models.rb +1 -1
- data/spec/mongoid/shardable_spec.rb +2 -2
- data/spec/mongoid/tasks/database_rake_spec.rb +13 -13
- data/spec/mongoid/tasks/database_spec.rb +1 -1
- data/spec/spec_helper.rb +0 -31
- data/spec/support/child_process_helper.rb +76 -0
- data/spec/support/cluster_config.rb +3 -3
- data/spec/support/constraints.rb +26 -10
- data/spec/support/spec_config.rb +12 -4
- metadata +8 -2
- metadata.gz.sig +0 -0
@@ -728,7 +728,7 @@ describe Mongoid::Clients do
|
|
728
728
|
end
|
729
729
|
end
|
730
730
|
|
731
|
-
describe ".store_in"
|
731
|
+
describe ".store_in" do
|
732
732
|
|
733
733
|
context "when provided a non hash" do
|
734
734
|
|
@@ -765,7 +765,7 @@ describe Mongoid::Clients do
|
|
765
765
|
end
|
766
766
|
end
|
767
767
|
|
768
|
-
describe ".with"
|
768
|
+
describe ".with" do
|
769
769
|
|
770
770
|
context "when changing write concern options" do
|
771
771
|
|
@@ -77,7 +77,8 @@ describe Mongoid::Contextual::Atomic do
|
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
80
|
-
context 'when the criteria has a collation'
|
80
|
+
context 'when the criteria has a collation' do
|
81
|
+
min_server_version '3.4'
|
81
82
|
|
82
83
|
let(:criteria) do
|
83
84
|
Band.where(members: [ "DAVE" ]).collation(locale: 'en_US', strength: 2)
|
@@ -173,7 +174,8 @@ describe Mongoid::Contextual::Atomic do
|
|
173
174
|
end
|
174
175
|
end
|
175
176
|
|
176
|
-
context 'when the criteria has a collation'
|
177
|
+
context 'when the criteria has a collation' do
|
178
|
+
min_server_version '3.4'
|
177
179
|
|
178
180
|
let(:criteria) do
|
179
181
|
Band.where(members: [ "DAVE" ]).collation(locale: 'en_US', strength: 2)
|
@@ -244,7 +246,8 @@ describe Mongoid::Contextual::Atomic do
|
|
244
246
|
end
|
245
247
|
end
|
246
248
|
|
247
|
-
context 'when the criteria has a collation'
|
249
|
+
context 'when the criteria has a collation' do
|
250
|
+
min_server_version '3.4'
|
248
251
|
|
249
252
|
let!(:depeche_mode) do
|
250
253
|
Band.create(members: [ "Dave" ], likes: 60)
|
@@ -323,7 +326,8 @@ describe Mongoid::Contextual::Atomic do
|
|
323
326
|
end
|
324
327
|
end
|
325
328
|
|
326
|
-
context 'when the criteria has a collation'
|
329
|
+
context 'when the criteria has a collation' do
|
330
|
+
min_server_version '3.4'
|
327
331
|
|
328
332
|
let!(:depeche_mode) do
|
329
333
|
Band.create(members: [ "Dave" ])
|
@@ -395,7 +399,8 @@ describe Mongoid::Contextual::Atomic do
|
|
395
399
|
end
|
396
400
|
end
|
397
401
|
|
398
|
-
context 'when the criteria has a collation'
|
402
|
+
context 'when the criteria has a collation' do
|
403
|
+
min_server_version '3.4'
|
399
404
|
|
400
405
|
let!(:depeche_mode) do
|
401
406
|
Band.create(members: [ "Dave" ])
|
@@ -449,7 +454,8 @@ describe Mongoid::Contextual::Atomic do
|
|
449
454
|
expect(smiths.reload.members).to be_nil
|
450
455
|
end
|
451
456
|
|
452
|
-
context 'when the criteria has a collation'
|
457
|
+
context 'when the criteria has a collation' do
|
458
|
+
min_server_version '3.4'
|
453
459
|
|
454
460
|
let!(:depeche_mode) do
|
455
461
|
Band.create(members: [ "Dave" ])
|
@@ -506,7 +512,8 @@ describe Mongoid::Contextual::Atomic do
|
|
506
512
|
end
|
507
513
|
end
|
508
514
|
|
509
|
-
context 'when the criteria has a collation'
|
515
|
+
context 'when the criteria has a collation' do
|
516
|
+
min_server_version '3.4'
|
510
517
|
|
511
518
|
let!(:depeche_mode) do
|
512
519
|
Band.create(members: [ "Dave", "Alan", "Fletch" ])
|
@@ -563,7 +570,8 @@ describe Mongoid::Contextual::Atomic do
|
|
563
570
|
end
|
564
571
|
end
|
565
572
|
|
566
|
-
context 'when the criteria has a collation'
|
573
|
+
context 'when the criteria has a collation' do
|
574
|
+
min_server_version '3.4'
|
567
575
|
|
568
576
|
let!(:depeche_mode) do
|
569
577
|
Band.create(members: [ "Dave" ])
|
@@ -628,7 +636,8 @@ describe Mongoid::Contextual::Atomic do
|
|
628
636
|
end
|
629
637
|
end
|
630
638
|
|
631
|
-
context 'when the criteria has a collation'
|
639
|
+
context 'when the criteria has a collation' do
|
640
|
+
min_server_version '3.4'
|
632
641
|
|
633
642
|
let!(:depeche_mode) do
|
634
643
|
Band.create(members: [ "Dave" ])
|
@@ -689,7 +698,8 @@ describe Mongoid::Contextual::Atomic do
|
|
689
698
|
end
|
690
699
|
end
|
691
700
|
|
692
|
-
context 'when the criteria has a collation'
|
701
|
+
context 'when the criteria has a collation' do
|
702
|
+
min_server_version '3.4'
|
693
703
|
|
694
704
|
let!(:depeche_mode) do
|
695
705
|
Band.create(members: [ "Dave" ])
|
@@ -848,7 +858,8 @@ describe Mongoid::Contextual::Atomic do
|
|
848
858
|
end
|
849
859
|
end
|
850
860
|
|
851
|
-
context 'when the criteria has a collation'
|
861
|
+
context 'when the criteria has a collation' do
|
862
|
+
min_server_version '3.4'
|
852
863
|
|
853
864
|
let!(:depeche_mode) do
|
854
865
|
Band.create(name: "Depeche Mode", years: 10)
|
@@ -78,6 +78,7 @@ describe Mongoid::Contextual::MapReduce do
|
|
78
78
|
end
|
79
79
|
|
80
80
|
describe "#counts" do
|
81
|
+
max_server_version '4.2'
|
81
82
|
|
82
83
|
let(:criteria) do
|
83
84
|
Band.all
|
@@ -106,7 +107,8 @@ describe Mongoid::Contextual::MapReduce do
|
|
106
107
|
end
|
107
108
|
|
108
109
|
it "iterates over the results" do
|
109
|
-
|
110
|
+
ordered_results = results.entries.sort_by { |doc| doc['_id'] }
|
111
|
+
expect(ordered_results.entries).to eq([
|
110
112
|
{ "_id" => "Depeche Mode", "value" => { "likes" => 200 }},
|
111
113
|
{ "_id" => "Tool", "value" => { "likes" => 100 }}
|
112
114
|
])
|
@@ -127,7 +129,8 @@ describe Mongoid::Contextual::MapReduce do
|
|
127
129
|
end
|
128
130
|
|
129
131
|
it "iterates over the results" do
|
130
|
-
|
132
|
+
ordered_results = results.entries.sort_by { |doc| doc['_id'] }
|
133
|
+
expect(ordered_results).to eq(expected_results)
|
131
134
|
end
|
132
135
|
|
133
136
|
it 'outputs to the collection' do
|
@@ -147,6 +150,7 @@ describe Mongoid::Contextual::MapReduce do
|
|
147
150
|
end
|
148
151
|
|
149
152
|
context "when the statstics are requested" do
|
153
|
+
max_server_version '4.2'
|
150
154
|
|
151
155
|
it "raises an error" do
|
152
156
|
expect {
|
@@ -191,14 +195,16 @@ describe Mongoid::Contextual::MapReduce do
|
|
191
195
|
Band.where(name: 'DEPECHE MODE').collation(locale: 'en_US', strength: 2)
|
192
196
|
end
|
193
197
|
|
194
|
-
context 'when the server supports collations'
|
198
|
+
context 'when the server supports collations' do
|
199
|
+
min_server_version '3.4'
|
195
200
|
|
196
201
|
it 'applies the collation' do
|
197
202
|
expect(map_reduce.out(inline: 1).count).to eq(1)
|
198
203
|
end
|
199
204
|
end
|
200
205
|
|
201
|
-
context 'when the server does not support collations'
|
206
|
+
context 'when the server does not support collations' do
|
207
|
+
max_server_version '3.2'
|
202
208
|
|
203
209
|
it 'raises an exception' do
|
204
210
|
expect {
|
@@ -210,6 +216,7 @@ describe Mongoid::Contextual::MapReduce do
|
|
210
216
|
end
|
211
217
|
|
212
218
|
describe "#emitted" do
|
219
|
+
max_server_version '4.2'
|
213
220
|
|
214
221
|
let(:emitted) do
|
215
222
|
map_reduce.out(inline: 1).emitted
|
@@ -261,6 +268,7 @@ describe Mongoid::Contextual::MapReduce do
|
|
261
268
|
end
|
262
269
|
|
263
270
|
describe "#input" do
|
271
|
+
max_server_version '4.2'
|
264
272
|
|
265
273
|
let(:input) do
|
266
274
|
map_reduce.out(inline: 1).input
|
@@ -311,6 +319,7 @@ describe Mongoid::Contextual::MapReduce do
|
|
311
319
|
end
|
312
320
|
|
313
321
|
describe "#output" do
|
322
|
+
max_server_version '4.2'
|
314
323
|
|
315
324
|
let(:output) do
|
316
325
|
map_reduce.out(inline: 1).output
|
@@ -343,12 +352,16 @@ describe Mongoid::Contextual::MapReduce do
|
|
343
352
|
end
|
344
353
|
|
345
354
|
context 'when a read preference is defined' do
|
355
|
+
require_topology :replica_set
|
356
|
+
# On 4.4 it seems the server inserts on the primary, not on the server
|
357
|
+
# that executed the map/reduce.
|
358
|
+
max_server_version '4.2'
|
346
359
|
|
347
360
|
let(:criteria) do
|
348
361
|
Band.all.read(mode: :secondary)
|
349
362
|
end
|
350
363
|
|
351
|
-
it "uses the read preference"
|
364
|
+
it "uses the read preference" do
|
352
365
|
|
353
366
|
expect {
|
354
367
|
replace_map_reduce.raw
|
@@ -359,6 +372,7 @@ describe Mongoid::Contextual::MapReduce do
|
|
359
372
|
end
|
360
373
|
|
361
374
|
describe "#reduced" do
|
375
|
+
max_server_version '4.2'
|
362
376
|
|
363
377
|
let(:reduced) do
|
364
378
|
map_reduce.out(inline: 1).reduced
|
@@ -389,6 +403,7 @@ describe Mongoid::Contextual::MapReduce do
|
|
389
403
|
end
|
390
404
|
|
391
405
|
describe "#time" do
|
406
|
+
max_server_version '4.2'
|
392
407
|
|
393
408
|
let(:time) do
|
394
409
|
map_reduce.out(inline: 1).time
|
@@ -171,7 +171,8 @@ describe Mongoid::Contextual::Mongo do
|
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
|
-
context 'when a collation is specified'
|
174
|
+
context 'when a collation is specified' do
|
175
|
+
min_server_version '3.4'
|
175
176
|
|
176
177
|
let(:context) do
|
177
178
|
described_class.new(criteria)
|
@@ -232,7 +233,8 @@ describe Mongoid::Contextual::Mongo do
|
|
232
233
|
expect(deleted).to eq(1)
|
233
234
|
end
|
234
235
|
|
235
|
-
context 'when the criteria has a collation'
|
236
|
+
context 'when the criteria has a collation' do
|
237
|
+
min_server_version '3.4'
|
236
238
|
|
237
239
|
let(:criteria) do
|
238
240
|
Band.where(name: "DEPECHE MODE").collation(locale: 'en_US', strength: 2)
|
@@ -336,7 +338,8 @@ describe Mongoid::Contextual::Mongo do
|
|
336
338
|
expect(destroyed).to eq(1)
|
337
339
|
end
|
338
340
|
|
339
|
-
context 'when the criteria has a collation'
|
341
|
+
context 'when the criteria has a collation' do
|
342
|
+
min_server_version '3.4'
|
340
343
|
|
341
344
|
let(:criteria) do
|
342
345
|
Band.where(name: "DEPECHE MODE").collation(locale: 'en_US', strength: 2)
|
@@ -458,7 +461,8 @@ describe Mongoid::Contextual::Mongo do
|
|
458
461
|
end
|
459
462
|
end
|
460
463
|
|
461
|
-
context 'when a collation is specified'
|
464
|
+
context 'when a collation is specified' do
|
465
|
+
min_server_version '3.4'
|
462
466
|
|
463
467
|
before do
|
464
468
|
Band.create(name: 'DEPECHE MODE')
|
@@ -496,7 +500,8 @@ describe Mongoid::Contextual::Mongo do
|
|
496
500
|
described_class.new(criteria)
|
497
501
|
end
|
498
502
|
|
499
|
-
context 'when the criteria has a collation'
|
503
|
+
context 'when the criteria has a collation' do
|
504
|
+
min_server_version '3.4'
|
500
505
|
|
501
506
|
let(:criteria) do
|
502
507
|
Band.where(name: "DEPECHE MODE").collation(locale: 'en_US', strength: 2)
|
@@ -853,7 +858,8 @@ describe Mongoid::Contextual::Mongo do
|
|
853
858
|
end
|
854
859
|
end
|
855
860
|
|
856
|
-
context 'when a collation is specified on the criteria'
|
861
|
+
context 'when a collation is specified on the criteria' do
|
862
|
+
min_server_version '3.4'
|
857
863
|
|
858
864
|
let(:criteria) do
|
859
865
|
Band.where(name: "DEPECHE MODE").collation(locale: 'en_US', strength: 2)
|
@@ -1006,7 +1012,8 @@ describe Mongoid::Contextual::Mongo do
|
|
1006
1012
|
end
|
1007
1013
|
end
|
1008
1014
|
|
1009
|
-
context 'when a collation is specified on the criteria'
|
1015
|
+
context 'when a collation is specified on the criteria' do
|
1016
|
+
min_server_version '3.4'
|
1010
1017
|
|
1011
1018
|
let(:criteria) do
|
1012
1019
|
Band.where(name: "DEPECHE MODE").collation(locale: 'en_US', strength: 2)
|
@@ -1080,7 +1087,8 @@ describe Mongoid::Contextual::Mongo do
|
|
1080
1087
|
}.to raise_error(Mongoid::Errors::DocumentNotFound)
|
1081
1088
|
end
|
1082
1089
|
|
1083
|
-
context 'when a collation is specified on the criteria'
|
1090
|
+
context 'when a collation is specified on the criteria' do
|
1091
|
+
min_server_version '3.4'
|
1084
1092
|
|
1085
1093
|
let(:criteria) do
|
1086
1094
|
Band.where(name: "DEPECHE MODE").collation(locale: 'en_US', strength: 2)
|
@@ -1152,7 +1160,8 @@ describe Mongoid::Contextual::Mongo do
|
|
1152
1160
|
expect(context.send(method)).to eq(depeche_mode)
|
1153
1161
|
end
|
1154
1162
|
|
1155
|
-
context 'when the criteria has a collation'
|
1163
|
+
context 'when the criteria has a collation' do
|
1164
|
+
min_server_version '3.4'
|
1156
1165
|
|
1157
1166
|
let(:criteria) do
|
1158
1167
|
Band.where(name: "DEPECHE MODE").collation(locale: 'en_US', strength: 2)
|
@@ -1556,6 +1565,10 @@ describe Mongoid::Contextual::Mongo do
|
|
1556
1565
|
}}
|
1557
1566
|
end
|
1558
1567
|
|
1568
|
+
let(:ordered_results) do
|
1569
|
+
results['results'].sort_by { |doc| doc['_id'] }
|
1570
|
+
end
|
1571
|
+
|
1559
1572
|
context "when no selection is provided" do
|
1560
1573
|
|
1561
1574
|
let(:criteria) do
|
@@ -1587,36 +1600,40 @@ describe Mongoid::Contextual::Mongo do
|
|
1587
1600
|
end
|
1588
1601
|
|
1589
1602
|
it "contains the entire raw results" do
|
1590
|
-
expect(
|
1603
|
+
expect(ordered_results).to eq([
|
1591
1604
|
{ "_id" => "Depeche Mode", "value" => { "likes" => 200 }},
|
1592
1605
|
{ "_id" => "Tool", "value" => { "likes" => 100 }}
|
1593
1606
|
])
|
1594
1607
|
end
|
1595
1608
|
|
1596
|
-
|
1597
|
-
|
1598
|
-
end
|
1609
|
+
context 'when statistics are available' do
|
1610
|
+
max_server_version '4.2'
|
1599
1611
|
|
1600
|
-
|
1601
|
-
|
1602
|
-
|
1603
|
-
})
|
1604
|
-
end
|
1612
|
+
it "contains the execution time" do
|
1613
|
+
expect(results.time).to_not be_nil
|
1614
|
+
end
|
1605
1615
|
|
1606
|
-
|
1607
|
-
|
1608
|
-
|
1616
|
+
it "contains the count statistics" do
|
1617
|
+
expect(results["counts"]).to eq({
|
1618
|
+
"input" => 2, "emit" => 2, "reduce" => 0, "output" => 2
|
1619
|
+
})
|
1620
|
+
end
|
1609
1621
|
|
1610
|
-
|
1611
|
-
|
1612
|
-
|
1622
|
+
it "contains the input count" do
|
1623
|
+
expect(results.input).to eq(2)
|
1624
|
+
end
|
1613
1625
|
|
1614
|
-
|
1615
|
-
|
1616
|
-
|
1626
|
+
it "contains the emitted count" do
|
1627
|
+
expect(results.emitted).to eq(2)
|
1628
|
+
end
|
1617
1629
|
|
1618
|
-
|
1619
|
-
|
1630
|
+
it "contains the reduced count" do
|
1631
|
+
expect(results.reduced).to eq(0)
|
1632
|
+
end
|
1633
|
+
|
1634
|
+
it "contains the output count" do
|
1635
|
+
expect(results.output).to eq(2)
|
1636
|
+
end
|
1620
1637
|
end
|
1621
1638
|
end
|
1622
1639
|
|
@@ -1645,35 +1662,39 @@ describe Mongoid::Contextual::Mongo do
|
|
1645
1662
|
end
|
1646
1663
|
|
1647
1664
|
it "contains the entire raw results" do
|
1648
|
-
expect(
|
1665
|
+
expect(ordered_results).to eq([
|
1649
1666
|
{ "_id" => "Depeche Mode", "value" => { "likes" => 200 }}
|
1650
1667
|
])
|
1651
1668
|
end
|
1652
1669
|
|
1653
|
-
|
1654
|
-
|
1655
|
-
end
|
1670
|
+
context 'when statistics are available' do
|
1671
|
+
max_server_version '4.2'
|
1656
1672
|
|
1657
|
-
|
1658
|
-
|
1659
|
-
|
1660
|
-
})
|
1661
|
-
end
|
1673
|
+
it "contains the execution time" do
|
1674
|
+
expect(results.time).to_not be_nil
|
1675
|
+
end
|
1662
1676
|
|
1663
|
-
|
1664
|
-
|
1665
|
-
|
1677
|
+
it "contains the count statistics" do
|
1678
|
+
expect(results["counts"]).to eq({
|
1679
|
+
"input" => 1, "emit" => 1, "reduce" => 0, "output" => 1
|
1680
|
+
})
|
1681
|
+
end
|
1666
1682
|
|
1667
|
-
|
1668
|
-
|
1669
|
-
|
1683
|
+
it "contains the input count" do
|
1684
|
+
expect(results.input).to eq(1)
|
1685
|
+
end
|
1670
1686
|
|
1671
|
-
|
1672
|
-
|
1673
|
-
|
1687
|
+
it "contains the emitted count" do
|
1688
|
+
expect(results.emitted).to eq(1)
|
1689
|
+
end
|
1674
1690
|
|
1675
|
-
|
1676
|
-
|
1691
|
+
it "contains the reduced count" do
|
1692
|
+
expect(results.reduced).to eq(0)
|
1693
|
+
end
|
1694
|
+
|
1695
|
+
it "contains the output count" do
|
1696
|
+
expect(results.output).to eq(1)
|
1697
|
+
end
|
1677
1698
|
end
|
1678
1699
|
end
|
1679
1700
|
|
@@ -1713,7 +1734,7 @@ describe Mongoid::Contextual::Mongo do
|
|
1713
1734
|
end
|
1714
1735
|
|
1715
1736
|
it "contains the entire raw results" do
|
1716
|
-
expect(
|
1737
|
+
expect(ordered_results).to eq([
|
1717
1738
|
{ "_id" => "Depeche Mode", "value" => { "likes" => 200 }},
|
1718
1739
|
{ "_id" => "Tool", "value" => { "likes" => 100 }}
|
1719
1740
|
])
|
@@ -2166,7 +2187,8 @@ describe Mongoid::Contextual::Mongo do
|
|
2166
2187
|
end
|
2167
2188
|
end
|
2168
2189
|
|
2169
|
-
context 'when provided array filters'
|
2190
|
+
context 'when provided array filters' do
|
2191
|
+
min_server_version '3.6'
|
2170
2192
|
|
2171
2193
|
before do
|
2172
2194
|
Band.delete_all
|
@@ -2338,7 +2360,8 @@ describe Mongoid::Contextual::Mongo do
|
|
2338
2360
|
end
|
2339
2361
|
end
|
2340
2362
|
|
2341
|
-
context 'when provided array filters'
|
2363
|
+
context 'when provided array filters' do
|
2364
|
+
min_server_version '3.6'
|
2342
2365
|
|
2343
2366
|
before do
|
2344
2367
|
Band.delete_all
|
@@ -2376,7 +2399,7 @@ describe Mongoid::Contextual::Mongo do
|
|
2376
2399
|
|
2377
2400
|
describe '#pipeline' do
|
2378
2401
|
|
2379
|
-
context 'when the criteria has a selector'
|
2402
|
+
context 'when the criteria has a selector' do
|
2380
2403
|
|
2381
2404
|
before do
|
2382
2405
|
Artist.index(name: "text")
|