Как отфильтровать массивы Mongoose для SchemaTypes - PullRequest
0 голосов
/ 26 августа 2018

У меня есть две коллекции Mongoose "File" и "FileShare". Подробности схемы приведены ниже

var FileSchema = new mongoose.Schema({
name: { type: String},
shares: [ { type: Schema.Types.ObjectId, ref: "FileShare" } ]});


var FileShareSchema = new mongoose.Schema({
_id: Number,
user: { type: String }});

Пример данных для коллекции файлов

name                    shares   
================================
 Document1.txt          [1,2]
 Document2.txt          [1]
 Document3.txt          [2]
 Document4.txt          []

Пример данных для FileShare Collection

_id     user
========================
1       John
2       Raj

Я хочу написать запрос, чтобы получить список файлов, которыми делятся с пользователем.А также необходимо обрабатывать подкачки с помощью запроса.

Ожидаемый результат

Для пользователя Джон должен получить Document1.txt, Document2.txt
и пользователя Rajдолжен получить Document1.txt, Document3.txt

File.find({})
    .populate('FileShare')
    .sort({'_id': 1})   
    .skip(0).limit(25)
    .exec(function (err, files) {
        res.send(files);
    });

Пожалуйста, дайте мне знать, есть ли способ получить этот результат с помощью запроса mongoose.

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