繁体   English   中英

mongoose 创建 function in not function 错误(子文档)

[英]mongoose create function in not function error(sub document)

图式

const UserSchema = new mongoose.Schema({
...,
  suported: [{name:String, id:String}],
  suporting: [{name:String, id:String}]

},
  { timestamps: true });

询问

const requester = await User.findOne({ _id }) 
const suporter = await User.findOne({ _id: _idSuporter })
        // Result ok
         requester.suported.create(data); // causing error
          suporter.suporting.create(data); 

错误消息: requester.suported.create 不是 function。

发生错误是因为无法在用户 object 的“支持”属性上调用创建 function。 您可以做的是创建一个 static function ,它将数据作为参数并在调用 function 时执行某些操作,如下所示:

userSchema.statics.createSupported = function(data: any) {
     // do something here..
}

userSchema.statics.createSupporting = function(data: any) {
     // do something here..
}

当您调用查询时:

const requester = await User.findOne({ _id })
const supporter = await User.findOne({ _id: _idSuporter })
// Result ok
User.createSupported(date)
User.createSupporting(data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM