-
Type:
Improvement
-
Resolution: Declined
-
Priority:
Minor - P4
-
None
-
Affects Version/s: 4.2.6
-
Component/s: None
-
None
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
When using JSON schema validation together with `validationAction: warn`, the warning messages are only logged on the mongo server logs.
The consuming application does not receive any logs through the driver logs. The `validationAction: warn` has no use for consuming apps, if they can't track the validation issues.
Steps to reproduce:
const { MongoClient, Logger } = require('mongodb'); (async () => { Logger.setLevel('debug'); Logger.setCurrentLogger(msg => console.log(msg)); const client = await MongoClient.connect('mongodb://127.0.0.1:27017/?replSet=rs0'); const db = await client.db('testdb'); await db.command({ collMod: 'tests', validator: { $jsonSchema: { type: 'object', additionalProperties: false, properties: { score: { type: 'number' } } } }, validationAction: 'warn' }); await db.collection('tests').insertOne({ bogus: true }); })();
Mongo server logs:
W STORAGE [conn10] Document would fail validation collection: testdb.tests doc: { _id: ObjectId('5f324fcbee2baed9ceccfd3a'), bogus: true }