Как искать в пн goose с исключением - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть 2 схемы, как показано ниже, мне нужно получить 50 элементов из videoInfos, которых нет в userInfos.watched (этот массив содержит _id of videoInfos). Пожалуйста, используйте синтаксис, такой как videoInfos.find (). Exce, если можете.

const userSchema = new mongoose.Schema({
    username:String,
    password:String,
    point: Number,
    watched: Array,//content _id of videoInfos
    running: Array,
});

const userInfos = mongoose.model('userInfos', userSchema);
//======================================================
const videoSchema = new mongoose.Schema({
    owner:String,
    videoID:String,
    totalTime: Number,
    totalView:Number,
    finish: Number,
    didFinish:Boolean,
});

const videoInfos = mongoose.model('videoInfos', videoSchema);

1 Ответ

1 голос
/ 14 февраля 2020

Поскольку вы используете mon goose, вы можете добиться этого следующим образом.

Измените схему следующим образом:

const userSchema = new mongoose.Schema({
    username:String,
    password:String,
    point: Number,
    watched: [{ type: Schema.Types.ObjectId, ref: 'videoInfos' }],
    running: Array,
});

И запросите следующим образом:

userInfos.find({}).populate('watched');

Массив watched должен быть заполнен данными videoInfo.

Для получения более подробной информации посмотрите mon goose Заполните .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...