2020-05-27 14:04:49 +03:00
|
|
|
/**
|
|
|
|
|
* Tests that an unknown field in the explain command will be rejected while generic command
|
|
|
|
|
* arguments will be permitted to pass validation.
|
|
|
|
|
*
|
2020-08-13 19:13:40 -04:00
|
|
|
* @tags: [
|
2021-09-23 14:06:34 +03:00
|
|
|
* assumes_read_concern_local,
|
2020-08-13 19:13:40 -04:00
|
|
|
* ]
|
2020-05-27 14:04:49 +03:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
const testDB = db.getSiblingDB(jsTestName());
|
|
|
|
|
|
|
|
|
|
// Drop and recreate the test database and a test collection.
|
|
|
|
|
assert.commandWorked(testDB.dropDatabase());
|
|
|
|
|
assert.commandWorked(testDB.test.createIndex({a: 1}));
|
|
|
|
|
|
|
|
|
|
// Test that an unknown field is rejected during explain command parsing.
|
2025-08-21 10:17:44 -07:00
|
|
|
assert.commandFailedWithCode(
|
|
|
|
|
testDB.runCommand({explain: {find: "test"}, unknownField: true}),
|
|
|
|
|
ErrorCodes.IDLUnknownField,
|
|
|
|
|
);
|
2020-05-27 14:04:49 +03:00
|
|
|
|
|
|
|
|
// Test that a generic argument will be accepted by command parsing.
|
2024-04-10 11:53:54 -04:00
|
|
|
assert.commandWorked(testDB.runCommand({explain: {find: "test"}, comment: true}));
|