Javascript 如何在nodeJs中将id(字符串)存储到objectId
var mongoose=require('mongoose') //将字符串转换为objectId ctx.instance.schoolId=mongoose.Types.ObjectId(ctx.instance.schoolId)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
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模式,我删除了它,现在它工作了