MongoDb - полнотекстовый поиск Используйте $ текстовый поиск в $ или запрос

Я борюсь с запросом. (Узел, Монго - Мангуст) Вот моя dbs "схема":

const ProjectSchema = new Schema({
 title: { type: String }
 author: { type: Schema.Types.ObjectId }
});
const Project = mongoose.model('project', ProjectSchema);
module.exports = Project;

const UserSchema = new Schema({
 fullName: { type: String }
});
const User = mongoose.model('user', UserSchema);
module.exports = User;

Коллекция проекта добавила ссылку на пользователя.

Хорошо, сейчас я создал текстовые индексы в коллекции титровальных проектов, чтобы иметь возможность поиска по $ text $ из пользовательского ввода, который работает совершенно нормально. Теперь то, что я хотел бы сделать, - это выполнить тот же запрос, выполнить поиск по монго в полном имени пользователя ref. Для поиска по названию проекта или автору полное имя.

Я создал указатель на автора проекта и указатель текста на User.fullName. Пока вот код, который я попробовал:

// My query from my controller
// First I text $search on the user collection
const users = await User.find({
    $text: {
      $search: req.query.search, $caseSensitive: false,
    },
  });
// Then I populate an array to get only the ids of users found
const usersIds = [];
if (users) {
    await users.forEach((user) => {
      usersId.push(user._id);
    });
  }
// Then my find query
const projects = await Project.find({
    $or: [{
        $text: {
            $search: req.query.search,
            $caseSensitive: false
        },
        author: { $in: usersIds }
     }]
 })

Моя идея заключалась в том, чтобы использовать $ или, чтобы сказать Монго текстовый поиск в Products.title. И потому что я не смог textSearch в поле ref. Я подумал посмотреть поиск пользователей, получить идентификаторы, если они есть, а затем отфильтровать авторские поля ссылок... Но я думаю, что я на неверном пути. Как только я пытаюсь настроить оба условия, это не работает, но работает индивидуально... У кого-нибудь есть идея? Спасибо

0 ответов

Другие вопросы по тегам