gpt4 book ai didi

node.js - Mongoose 填充架构中虚拟值的引用

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:07 25 4
gpt4 key购买 nike

我想创建一个架构的虚拟“传递”值,因此我需要检查另一个架构以查看两个值是否匹配。

在网上查看过,您可以在查询期间填充引用,但还没有看到任何直接在架构中执行此操作的示例

var ExerciseSchema = new Schema({
title: { type: String, required: true },
output: [{ type: String, required: true }]
});

export var Exercise = mongoose.model('Exercise', ExerciseSchema);

我想将 ExerceSchema 的输出与 AttemptSchema 的输出进行比较,并使用虚拟“passed”变量返回 true 或 false

var AttemptSchema = new Schema({
exercise: { type: ObjectId, ref: 'Exercise', required: true },
output: [{ type: String }],
});

export var Attempt = mongoose.model('Attempt', AttemptSchema);

AttemptSchema.virtual('passed').get(function() {
// compare outputs to see if passed
});

最佳答案

我认为你的虚拟字段定义应该是这样的:

AttemptSchema.virtual('passed').get(function() {
var attemptOutput = this.output.join();
mongoose.model('Exercise').findById(this.exercise, function(err, excercise) {
return excercise.output.join() === attemptOutput;
});
});

关于node.js - Mongoose 填充架构中虚拟值的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56426270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com