是否有使用mongoose将字符串转换为node中的objectId的功能?该模式指定某个内容是一个ObjectId,但是当它从字符串保存时,mongo告诉我它仍然只是一个字符串。例如,对象的_id显示为objectId("blah")
。
Node.js Mongoose.js字符串转换为ObjectId函数
如果要通过express和mongoose实现REST API,请仅查看以下代码片段。(添加示例)
....
exports.AddSomething = (req,res,next) =>{
const newSomething = new SomeEntity({
_id:new mongoose.Types.ObjectId(), //its very own ID
somethingName:req.body.somethingName,
theForeignKey: mongoose.Types.ObjectId(req.body.theForeignKey)// if you want to pass an object ID
})
}
...
希望能帮助到你
从评论来看,您正在寻找:
mongoose.mongo.BSONPure.ObjectID.isValid
要么
mongoose.Types.ObjectId.isValid
我无法解析此方法(很久没搜索了)
如果您的模式期望该属性为ObjectId类型,则该转换是隐式的,至少在4.7.8中是如此。
但是,您可以使用类似这样的东西,它具有更多的灵活性: