Details
Description
When calling WriteConcern with new, it works as expected:
> new WriteConcern({j: true}) |
WriteConcern({ "j" : true }) |
But without the new this fails:
> WriteConcern({j: true}) |
2016-04-06T15:43:44.271-0400 E QUERY [thread1] Error: If the first arg is an Object then no additional args are allowed! :
|
WriteConcern@src/mongo/shell/bulk_api.js:52:15
|
WriteConcern@src/mongo/shell/bulk_api.js:45:1
|
@(shell):1:1
|
I think this is because when this isn't called with new, it recurses, always passing 3 arguments:
if(!(this instanceof WriteConcern)) |
return new WriteConcern(wValue, wTimeout, jValue); |
So we error here:
if (typeof wValue == 'object') { |
if (arguments.length == 1) |
opts = Object.merge(wValue);
|
else |
throw Error("If the first arg is an Object then no additional args are allowed!") |
}
|