如何使用 Node 的驱动程序检查 ObjectID 是否有效
我试过了:
var BSON = mongo.BSONPure;
console.log("Validity: " + BSON.ObjectID.isValid('ddsd'))
但我不断收到异常,而不是真或假。 (异常(exception)只是一个 'throw e;//process.nextTick 错误,或第一次滴答时的 'error' 事件'
最佳答案
这是一个简单的检查 - 并非 100% 万无一失
如果要检查 24 个十六进制字符的字符串,可以使用此正则表达式。
var checkForHexRegExp = new RegExp("^[0-9a-fA-F]{24}$")
checkForHexRegExp.test("i am a bad boy")
// false
checkForHexRegExp.test("5e63c3a5e4232e4cd0274ac2")
// true
正则表达式取自 github.com/mongodb/js-bson/.../objectid.ts
为了更好的检查使用:
var ObjectID = require("mongodb").ObjectID
ObjectID.isValid("i am a bad boy")
// false
ObjectID.isValid("5e63c3a5e4232e4cd0274ac2")
// true
isValid
代码 github.com/mongodb/js-bson/.../objectid.ts
https://stackoverflow.com/questions/11985228/