Мой запрос возвращает ноль для полей, которые должны быть извлечены из реляционного объекта.
У меня есть две модели в отдельных файлах, Track и User. Я создаю свои запросы и мутации в третьем файле.
Track. js экспортирует модель mon goose с именем "Track".
В моей модели User есть поле с именем "track", которое имеет вид {type: Schema.Types.ObjectId, ref : "Track"}
Я создаю TrackT C в моем файле compose. js, где я создаю свои мутации и запросы.
Я запутался, потому что мой запрос выдает ошибки, когда Я называю поля, которых нет в модели Track; однако действительные поля возвращают ноль.
Там у меня есть следующий код для создания отношения, который, я думаю, может быть источником моей ошибки.
Спасибо за любые советы или подсказки !!
// ADD RELATION
UserTC.addRelation(
'track',
() => ({
resolver: TrackTC.getResolver('findByIds'),
prepareArgs: {
_ids: source => source.tracks
},
})
)
// USER MODEL
const mongoose = require("mongoose");
const bcrypt = require("mongoose-bcrypt");
const { Schema } = mongoose;
const { Track, TrackSchema } = require("./track");
const UserSchema = new Schema({
name: String,
email: String,
password: {
type: String,
bcrypt: true
},
userType: {
type: String,
default: "user"
},
tracks: [
{
type: Schema.Types.ObjectId,
ref: "Track"
}
]
});
UserSchema.plugin(bcrypt);
const User = mongoose.model("User", UserSchema);
module.exports = { User, UserSchema };
// TRACK MODEL
const mongoose = require("mongoose");
const { Schema } = mongoose
const TrackSchema = new Schema({
title: String,
description: String
});
const Track = mongoose.model("Track", TrackSchema);
module.exports = {Track, TrackSchema}