Skip to content

Commit 2e28009

Browse files
authored
feat(NODE-3818)!: remove slaveOk options (#3503)
1 parent 8900d40 commit 2e28009

File tree

6 files changed

+5
-32
lines changed

6 files changed

+5
-32
lines changed

etc/notes/CHANGES_5.0.0.md

+5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ The following is a detailed collection of the changes in the major v5 release of
1616

1717
## Changes
1818

19+
### salveOk options removed
20+
21+
The deprecated `slaveOk` option and `slaveOk()` method on the `Collection` class have been removed. Please
22+
now use `secondaryOk` as the replacement for the option and the method.
23+
1924
### Bulk results no longer contain `lastOp()` and `opTime`
2025

2126
The `lastOp()` method and `opTime` property on the `BulkResult` have been removed. Merging of bulk results

src/collection.ts

-4
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,6 @@ export interface CollectionOptions
116116
extends BSONSerializeOptions,
117117
WriteConcernOptions,
118118
LoggerOptions {
119-
/**
120-
* @deprecated Use readPreference instead
121-
*/
122-
slaveOk?: boolean;
123119
/** Specify a read concern for the collection. (only MongoDB 3.2 or higher supported) */
124120
readConcern?: ReadConcernLike;
125121
/** The preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST). */

src/db.ts

-8
Original file line numberDiff line numberDiff line change
@@ -184,14 +184,6 @@ export class Db {
184184
return this.s.options;
185185
}
186186

187-
/**
188-
* slaveOk specified
189-
* @deprecated Use secondaryOk instead
190-
*/
191-
get slaveOk(): boolean {
192-
return this.secondaryOk;
193-
}
194-
195187
/**
196188
* Check if a secondary can be used (because the read preference is *not* set to primary)
197189
*/

src/read_preference.ts

-9
Original file line numberDiff line numberDiff line change
@@ -227,15 +227,6 @@ export class ReadPreference {
227227
return ReadPreference.isValid(typeof mode === 'string' ? mode : this.mode);
228228
}
229229

230-
/**
231-
* Indicates that this readPreference needs the "secondaryOk" bit when sent over the wire
232-
* @deprecated Use secondaryOk instead
233-
* @see https://docs.mongodb.com/manual/reference/mongodb-wire-protocol/#op-query
234-
*/
235-
slaveOk(): boolean {
236-
return this.secondaryOk();
237-
}
238-
239230
/**
240231
* Indicates that this readPreference needs the "SecondaryOk" bit when sent over the wire
241232
* @see https://docs.mongodb.com/manual/reference/mongodb-wire-protocol/#op-query

test/unit/db.test.ts

-6
Original file line numberDiff line numberDiff line change
@@ -7,47 +7,41 @@ import { ReadPreference } from '../../src/read_preference';
77
describe('class Db', function () {
88
describe('secondaryOk', function () {
99
const client = new MongoClient('mongodb://localhost:27017');
10-
const legacy_secondary_ok = 'slaveOk';
1110
const secondary_ok = 'secondaryOk';
1211

1312
it('should be false when readPreference is Primary', function () {
1413
const options: DbOptions = { readPreference: ReadPreference.PRIMARY };
1514
const mydb = new Db(client, 'mydb', options);
1615

1716
expect(mydb).property(secondary_ok).to.be.false;
18-
expect(mydb).property(legacy_secondary_ok).to.be.false;
1917
});
2018

2119
it('should be true when readPreference is Primary Preferred', function () {
2220
const options: DbOptions = { readPreference: ReadPreference.PRIMARY_PREFERRED };
2321
const mydb = new Db(client, 'mydb', options);
2422

2523
expect(mydb).property(secondary_ok).to.be.true;
26-
expect(mydb).property(legacy_secondary_ok).to.be.true;
2724
});
2825

2926
it('should be true when readPreference is Secondary', function () {
3027
const options: DbOptions = { readPreference: ReadPreference.SECONDARY };
3128
const mydb = new Db(client, 'mydb', options);
3229

3330
expect(mydb).property(secondary_ok).to.be.true;
34-
expect(mydb).property(legacy_secondary_ok).to.be.true;
3531
});
3632

3733
it('should be true when readPreference is Secondary Preferred', function () {
3834
const options: DbOptions = { readPreference: ReadPreference.SECONDARY_PREFERRED };
3935
const mydb = new Db(client, 'mydb', options);
4036

4137
expect(mydb).property(secondary_ok).to.be.true;
42-
expect(mydb).property(legacy_secondary_ok).to.be.true;
4338
});
4439

4540
it('should be true when readPreference is Nearest', function () {
4641
const options: DbOptions = { readPreference: ReadPreference.NEAREST };
4742
const mydb = new Db(client, 'mydb', options);
4843

4944
expect(mydb).property(secondary_ok).to.be.true;
50-
expect(mydb).property(legacy_secondary_ok).to.be.true;
5145
});
5246
});
5347
});

test/unit/read_preference.test.ts

-5
Original file line numberDiff line numberDiff line change
@@ -139,39 +139,34 @@ describe('class ReadPreference', function () {
139139
readPreference: PRIMARY
140140
});
141141
expect(readPreference.secondaryOk()).to.be.false;
142-
expect(readPreference.slaveOk()).to.be.false;
143142
});
144143

145144
it('should be true when readPreference is Primary Preferred', function () {
146145
const readPreference = ReadPreference.fromOptions({
147146
readPreference: PRIMARY_PREFERRED
148147
});
149148
expect(readPreference.secondaryOk()).to.be.true;
150-
expect(readPreference.slaveOk()).to.be.true;
151149
});
152150

153151
it('should be true when readPreference is Secondary', function () {
154152
const readPreference = ReadPreference.fromOptions({
155153
readPreference: SECONDARY
156154
});
157155
expect(readPreference.secondaryOk()).to.be.true;
158-
expect(readPreference.slaveOk()).to.be.true;
159156
});
160157

161158
it('should be true when readPreference is Secondary Preferred', function () {
162159
const readPreference = ReadPreference.fromOptions({
163160
readPreference: SECONDARY_PREFERRED
164161
});
165162
expect(readPreference.secondaryOk()).to.be.true;
166-
expect(readPreference.slaveOk()).to.be.true;
167163
});
168164

169165
it('should be true when readPreference is Nearest', function () {
170166
const readPreference = ReadPreference.fromOptions({
171167
readPreference: NEAREST
172168
});
173169
expect(readPreference.secondaryOk()).to.be.true;
174-
expect(readPreference.slaveOk()).to.be.true;
175170
});
176171
});
177172
});

0 commit comments

Comments
 (0)