I have a users collection in Mongodb with json schema rules defined. For phone number field i have set bsonType to "number". When a request comes to backend node.js api it parses phone as number. As expected non number strings are parsed as NaN by javascript but mongodb let NaN pass through json schema despite being set to bsonType as number.
app.use("/user/add", (req, res) => {
const {name} = req.body
const phone = parseInt(req.body.phone)
UserCollection.insertOne({name, phone})
})
Document in Mongodb collection
{
phone: NaN,
name : "abc",
_id : "123",
}