Skip to content

Commit 15cd47d

Browse files
committed
gridfs
1 parent abdefbe commit 15cd47d

File tree

3 files changed

+31
-27
lines changed

3 files changed

+31
-27
lines changed

lib/collection.js

+19-19
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ Collection.prototype.find = deprecateOptions(
495495
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
496496
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
497497
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
498-
* @param {object} [options.writeConcern] Specify write concern settings.
498+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
499499
* @param {boolean} [options.checkKeys=true] If true, will throw if bson documents start with `$` or include a `.` in any key value
500500
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
501501
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
@@ -532,7 +532,7 @@ Collection.prototype.insertOne = function(doc, options, callback) {
532532
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
533533
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
534534
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
535-
* @param {object} [options.writeConcern] Specify write concern settings.
535+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
536536
* @param {boolean} [options.checkKeys=true] If true, will throw if bson documents start with `$` or include a `.` in any key value
537537
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
538538
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
@@ -600,7 +600,7 @@ Collection.prototype.insertMany = function(docs, options, callback) {
600600
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
601601
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
602602
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
603-
* @param {object} [options.writeConcern] Specify write concern settings.
603+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
604604
* @param {boolean} [options.checkKeys=false] If true, will throw if bson documents start with `$` or include a `.` in any key value
605605
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
606606
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
@@ -682,7 +682,7 @@ Collection.prototype.bulkWrite = function(operations, options, callback) {
682682
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
683683
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
684684
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
685-
* @param {object} [options.writeConcern] Specify write concern settings.
685+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
686686
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
687687
* @param {boolean} [options.forceServerObjectId=false] Force server to assign _id values instead of driver.
688688
* @param {boolean} [options.bypassDocumentValidation=false] Allow driver to bypass schema validation in MongoDB 3.2 or higher.
@@ -740,7 +740,7 @@ Collection.prototype.insert = deprecate(function(docs, options, callback) {
740740
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
741741
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
742742
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
743-
* @param {object} [options.writeConcern] Specify write concern settings.
743+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
744744
* @param {boolean} [options.checkKeys=false] If true, will throw if bson documents start with `$` or include a `.` in any key value
745745
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
746746
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
@@ -778,7 +778,7 @@ Collection.prototype.updateOne = function(filter, update, options, callback) {
778778
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
779779
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
780780
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
781-
* @param {object} [options.writeConcern] Specify write concern settings.
781+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
782782
* @param {boolean} [options.checkKeys=false] If true, will throw if bson documents start with `$` or include a `.` in any key value
783783
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
784784
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
@@ -817,7 +817,7 @@ Collection.prototype.replaceOne = function(filter, doc, options, callback) {
817817
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
818818
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
819819
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
820-
* @param {object} [options.writeConcern] Specify write concern settings.
820+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
821821
* @param {boolean} [options.checkKeys=false] If true, will throw if bson documents start with `$` or include a `.` in any key value
822822
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
823823
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
@@ -851,7 +851,7 @@ Collection.prototype.updateMany = function(filter, update, options, callback) {
851851
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
852852
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
853853
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
854-
* @param {object} [options.writeConcern] Specify write concern settings.
854+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
855855
* @param {boolean} [options.upsert=false] Update operation is an upsert.
856856
* @param {boolean} [options.multi=false] Update one/all documents with operation.
857857
* @param {boolean} [options.bypassDocumentValidation=false] Allow driver to bypass schema validation in MongoDB 3.2 or higher.
@@ -908,7 +908,7 @@ Collection.prototype.update = deprecate(function(selector, update, options, call
908908
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
909909
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
910910
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
911-
* @param {object} [options.writeConcern] Specify write concern settings.
911+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
912912
* @param {boolean} [options.checkKeys=false] If true, will throw if bson documents start with `$` or include a `.` in any key value
913913
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
914914
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
@@ -943,7 +943,7 @@ Collection.prototype.removeOne = Collection.prototype.deleteOne;
943943
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
944944
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
945945
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
946-
* @param {object} [options.writeConcern] Specify write concern settings.
946+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
947947
* @param {boolean} [options.checkKeys=false] If true, will throw if bson documents start with `$` or include a `.` in any key value
948948
* @param {boolean} [options.serializeFunctions=false] Serialize functions on any object.
949949
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
@@ -978,7 +978,7 @@ Collection.prototype.removeMany = Collection.prototype.deleteMany;
978978
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
979979
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
980980
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
981-
* @param {object} [options.writeConcern] Specify write concern settings.
981+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
982982
* @param {boolean} [options.single=false] Removes the first document found.
983983
* @param {ClientSession} [options.session] optional session to use for this operation
984984
* @param {Collection~writeOpCallback} [callback] The command result callback
@@ -1012,7 +1012,7 @@ Collection.prototype.remove = deprecate(function(selector, options, callback) {
10121012
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
10131013
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
10141014
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
1015-
* @param {object} [options.writeConcern] Specify write concern settings.
1015+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
10161016
* @param {ClientSession} [options.session] optional session to use for this operation
10171017
* @param {Collection~writeOpCallback} [callback] The command result callback
10181018
* @return {Promise} returns Promise if no callback passed
@@ -1199,7 +1199,7 @@ Collection.prototype.isCapped = function(options, callback) {
11991199
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
12001200
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
12011201
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
1202-
* @param {object} [options.writeConcern] Specify write concern settings.
1202+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
12031203
* @param {boolean} [options.unique=false] Creates an unique index.
12041204
* @param {boolean} [options.sparse=false] Creates a sparse index.
12051205
* @param {boolean} [options.background=false] Creates the index in the background, yielding whenever possible.
@@ -1313,7 +1313,7 @@ Collection.prototype.createIndexes = function(indexSpecs, options, callback) {
13131313
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
13141314
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
13151315
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
1316-
* @param {object} [options.writeConcern] Specify write concern settings.
1316+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
13171317
* @param {ClientSession} [options.session] optional session to use for this operation
13181318
* @param {number} [options.maxTimeMS] Number of milliseconds to wait before aborting the query.
13191319
* @param {Collection~resultCallback} [callback] The command result callback
@@ -1412,7 +1412,7 @@ Collection.prototype.listIndexes = function(options) {
14121412
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
14131413
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
14141414
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
1415-
* @param {object} [options.writeConcern] Specify write concern settings.
1415+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
14161416
* @param {boolean} [options.unique=false] Creates an unique index.
14171417
* @param {boolean} [options.sparse=false] Creates a sparse index.
14181418
* @param {boolean} [options.background=false] Creates the index in the background, yielding whenever possible.
@@ -1766,7 +1766,7 @@ Collection.prototype.findOneAndUpdate = function(filter, update, options, callba
17661766
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
17671767
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
17681768
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
1769-
* @param {object} [options.writeConcern] Specify write concern settings.
1769+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
17701770
* @param {boolean} [options.remove=false] Set to true to remove the object before returning.
17711771
* @param {boolean} [options.upsert=false] Perform an upsert operation.
17721772
* @param {boolean} [options.new=false] Set to true if you want to return the modified object rather than the original. Ignored for remove.
@@ -1817,7 +1817,7 @@ function _findAndModify(query, sort, doc, options, callback) {
18171817
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
18181818
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
18191819
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
1820-
* @param {object} [options.writeConcern] Specify write concern settings.
1820+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
18211821
* @param {ClientSession} [options.session] optional session to use for this operation
18221822
* @param {Collection~resultCallback} [callback] The command result callback
18231823
* @return {Promise} returns Promise if no callback passed
@@ -2144,7 +2144,7 @@ Collection.prototype.mapReduce = function(map, reduce, options, callback) {
21442144
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
21452145
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
21462146
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
2147-
* @param {object} [options.writeConcern] Specify write concern settings.
2147+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
21482148
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
21492149
* @param {ClientSession} [options.session] optional session to use for this operation
21502150
* @return {UnorderedBulkOperation}
@@ -2168,7 +2168,7 @@ Collection.prototype.initializeUnorderedBulkOp = function(options) {
21682168
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
21692169
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
21702170
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
2171-
* @param {object} [options.writeConcern] Specify write concern settings.
2171+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
21722172
* @param {ClientSession} [options.session] optional session to use for this operation
21732173
* @param {boolean} [options.ignoreUndefined=false] Specify if the BSON serializer should ignore undefined fields.
21742174
* @param {OrderedBulkOperation} callback The command result callback

lib/gridfs-stream/upload.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@ module.exports = GridFSBucketWriteStream;
2222
* @param {object} [options] Optional settings.
2323
* @param {string|number|object} [options.id] Custom file id for the GridFS file.
2424
* @param {number} [options.chunkSizeBytes] The chunk size to use, in bytes
25-
* @param {number} [options.w] The write concern
26-
* @param {number} [options.wtimeout] The write concern timeout
27-
* @param {number} [options.j] The journal write concern
25+
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
26+
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
27+
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
28+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
2829
* @param {boolean} [options.disableMD5=false] If true, disables adding an md5 field to file data
2930
* @fires GridFSBucketWriteStream#error
3031
* @fires GridFSBucketWriteStream#finish

lib/gridfs/grid_store.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,11 @@ const deprecationFn = deprecate(() => {},
7373
* @param {string} [filename] optional filename for this file, no unique constrain on the field
7474
* @param {string} mode set the mode for this file.
7575
* @param {object} [options] Optional settings.
76-
* @param {(number|string)} [options.w] The write concern.
77-
* @param {number} [options.wtimeout] The write concern timeout.
78-
* @param {boolean} [options.j=false] Specify a journal write concern.
79-
* @param {boolean} [options.fsync=false] Specify a file sync write concern.
76+
* @param {(number|string)} [options.w] DEPRECATED: The write concern. Use writeConcern instead.
77+
* @param {number} [options.wtimeout] DEPRECATED: The write concern timeout. Use writeConcern instead.
78+
* @param {boolean} [options.j=false] DEPRECATED: Specify a journal write concern. Use writeConcern instead.
79+
* @param {boolean} [options.fsync=false] DEPRECATED: Specify a file sync write concern. Use writeConcern instead.
80+
* @param {object|WriteConcern} [options.writeConcern] Specify write concern settings.
8081
* @param {string} [options.root] Root collection to use. Defaults to **{GridStore.DEFAULT_ROOT_COLLECTION}**.
8182
* @param {string} [options.content_type] MIME type of the file. Defaults to **{GridStore.DEFAULT_CONTENT_TYPE}**.
8283
* @param {number} [options.chunk_size=261120] Size for the chunk. Defaults to **{Chunk.DEFAULT_CHUNK_SIZE}**.
@@ -1572,7 +1573,7 @@ var _writeNormal = function(self, data, close, options, callback) {
15721573
* @ignore
15731574
*/
15741575
var _setWriteConcernHash = function(options) {
1575-
var finalOptions = {};
1576+
var finalOptions = Object.assign({}, options.writeConcern);
15761577
if (options.w != null) finalOptions.w = options.w;
15771578
if (options.journal === true) finalOptions.j = options.journal;
15781579
if (options.j === true) finalOptions.j = options.j;
@@ -1591,6 +1592,7 @@ var _getWriteConcern = function(self, options) {
15911592

15921593
// Local options verification
15931594
if (
1595+
options.writeConcern != null ||
15941596
options.w != null ||
15951597
typeof options.j === 'boolean' ||
15961598
typeof options.journal === 'boolean' ||
@@ -1602,6 +1604,7 @@ var _getWriteConcern = function(self, options) {
16021604
} else if (typeof options.safe === 'boolean') {
16031605
finalOptions = { w: options.safe ? 1 : 0 };
16041606
} else if (
1607+
self.options.writeConcern != null ||
16051608
self.options.w != null ||
16061609
typeof self.options.j === 'boolean' ||
16071610
typeof self.options.journal === 'boolean' ||

0 commit comments

Comments
 (0)