mongoose + Node.js/Expressに、外部キーフィールドとモデルのそのフィールドを参照するものとの関係を定義する方法はありますか?私の問題は、外来キーがすべて 'example'ではなく 'exampleId'のようにフォーマットされているmongoデータベースがあることです。私は 'exampleId'を直接呼び出すことができますが、 'example'の代わりに 'exampleId'を設定すると奇妙なことが起こります(一度入力すると、idの代わりに 'example'自体になるので混乱します)。ここでmongooseでdb nameと異なる外部キーの名前を付ける方法
は、私は今それを行うと、それは私のgraphQLサーバでどのように動作するかですが、私のデータベースのフィールドは、「courseId」
const CourseSchema = new Schema({
_id: { type: String },
sections: [{
type: Schema.Types.String,
ref: 'Section'
}],
});
const SectionType = new GraphQLObjectType({
name: 'SectionType',
fields:() => ({
id: { type: GraphQLID },
courseId: {
type: require('./course_type'),
resolve(parentValue) {
return Section.findById(parentValue)
.populate('course')
.then(section => section.course);
}
},
}),
});
応答に感謝しますが、これが私の質問に答えるかどうかはわかりません。私はmongoDBとmongoDBをやりとりするためにmongooseパッケージを使用していますが、実際にはうまくいかない値を見つけるためにDBでどのフィールドを見るかについていくつかの前提があります。また、あなたがそこに置いた例であなたのフィールドの価値をどのように変えているのかは分かりません。私は '名前'のようなプロパティや、 'updatedbyid'は実際にはDB内の 'updatedBy'と言うことはできません。 – Coherent