Нужно сделать полнотекстовый поиск по таблице (mongoDB).
зашел в офф документацию.
Вот схема:
var mongoose = require('mongoose');
var testSchema = new mongoose.Schema({
tags: [],
text: { type: String }
});
testSchema.index({text: 'text', tags: 'text'});
module.exports = mongoose.model('Test', testSchema);
Код для поиска:
var test = require('../models/Test.js');
test
.find({ $text : { $search : "random" } })
.exec(function(err, results) {
if (err) return res.send(err);
res.send(results)
});
Объекты с базы:
{
"_id" : ObjectId("57f3d21358b045bc1f16a156"),
"text" : "random 1",
"tags" : [ "a", "b", "c" ]
}
{
"_id" : ObjectId("57f3d2a858b045bc1f16a157"),
"text" : "test str 2",
"tags" : [ "d", "e", "f" ]
}
{
"_id" : ObjectId("57f3d2b758b045bc1f16a158"),
"text" : "random 2",
"tags" : [ "a", "e", "f" ]
}
Проблема в том что результатом приходит: пустой массив []
Подскажите где я ошибся или скиньте пример рабочего кода если есть. (юзай еластик или сфинкс нельзя так так сказали сделать на монге)