Javascript 如何在nodeJs中将id(字符串)存储到objectId

Javascript 如何在nodeJs中将id(字符串)存储到objectId,javascript,node.js,mongodb,loopbackjs,Javascript,Node.js,Mongodb,Loopbackjs,var mongoose=require('mongoose') //将字符串转换为objectId ctx.instance.schoolId=mongoose.Types.ObjectId(ctx.instance.schoolId) console.log(typeof(ctx.instance.schoolId))当您使用mongoose.Types.ObjectId(ctx.instance.schoolId)时,您得到了ObjectId 因此,当您尝试console.log(type

var mongoose=require('mongoose')

//将字符串转换为objectId

ctx.instance.schoolId=mongoose.Types.ObjectId(ctx.instance.schoolId)


console.log(typeof(ctx.instance.schoolId))

当您使用
mongoose.Types.ObjectId(ctx.instance.schoolId)
时,您得到了
ObjectId
因此,当您尝试
console.log(typeof ctx.instance.schoolId)
时,您得到了“object”

当您需要检查ctx.instance.schoolId是否为ObjectId时,您应该使用如下构造

if ctx.instance.schoolId instanceof mongoose.Types.ObjectId == true {
   // schoolId is instance of ObjectId
}

你能把你的模型贴出来吗?你用观察员来保存你的数据吗?没问题,但我发布的代码是正确的。我以前已经这样做过,但现在它不工作了所以
typeof(ctx.instance.schoolId)
返回ObjectId字符串?不,它仍然返回字符串。但当我这么做的时候。log(typeof(mongoose.Types.ObjectId(ctx.instance.schoolId)))作为objectIt打印,它可以与模型中的getter/setter相关。你的模特看起来怎么样?你可以发布
实例
模式吗?你是对的,模式中有一个问题,schoolId类型是string-kin模式,我删除了它,现在它工作了