Я использую mongodb, я застрял в проблеме:
Данные:
{
"_id" : ObjectId("5a956e0b78d363d37f6a2ec4"),
"fieldType" : "Enter Source",
"value" : "Delhi",
"catgeory" : "Generic",
"synonym" : [
"origin name or code",
"from",
"enter source",
"from where",
"fro wher"
]
}
Когда я использую этот запрос
db.getCollection("Rules_DefaultValue").find(
{
"synonym" : "from where"
});
Я получил правильный результат, как и ожидалось
Но когда я использую этот запрос
db.getCollection("Rules_DefaultValue").find(
{
"$text" : {
"$search" : "where"
}
});
Я не получил никакого результата, поэтому я изменил его снова
db.getCollection("Rules_DefaultValue").find(
{
"$text" : {
"$search" : "wher"
}
});
и на этот раз это сработало.
Поэтому я пришел к выводу, что «где» является резервным ключевым словом, и я не могу использовать его как есть. Поэтому я попытался с помощью escape-символа:
"$search" : "\"where\""
но опять же я не получил результат.
то же самое происходит с
and , from , *
Пожалуйста, помогите мне в этом, Как я могу сделать запрос с этими словами.