Пн goose поиск документов на основе значения поддокумента - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь получить документы на основе ссылки на вложенные документы.

Я пытался

Blog.find({"user.blocked" : false})

, чтобы этот запрос не извлекал никаких документов.

Вот мои схемы

const BlogSchema = new mongoose.Schema({
    category: {type: String, trim: true},
    user: {type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true},
    title: {type: String},
    description: {type: String},
}, {timestamps: true});

const UserSchema = new mongoose.Schema({
    name: {type: String, required: true},
    blocked: Boolean,
}, {timestamps: true});

mongoose.model('User', UserSchema);
mongoose.model('Blog', BlogSchema);

1 Ответ

0 голосов
/ 11 марта 2020

Вы определяете пользователя как ссылку, поэтому вы не можете запрашивать поля другой коллекции. В этом одно из отличий реляционных баз данных: вы не можете выполнить JOIN.

. Вы можете использовать агрегацию вместо запроса, используя оператор $lookup. Вы можете проверить это здесь

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