Вот пример коллекции "join" * Актеры и фильмы:
https://github.com/mongodb/cookbook/blob/master/ content / patterns / pivot.txt
Использует метод .mapReduce()
* join - альтернативу объединению в документарно-ориентированных базах данных
Нашел решение, я публикую его на тот случай, если кто-то еще столкнется с такой проблемой в Parse PHP SDK, потому что он существует с начала 2018 года.
В моем скрипте, который сохраняет рекламу в моей базе данных, Я сохранял ключевые слова в нижнем регистре, основываясь на описании и заголовке представленных элементов:
$kStr = $description. " " .$title. " " .$currentUser->getUsername();
$keywords = explode( " ", strtolower($kStr) );
Это работало нормально, но так как PHP ParseQuery
с фильтром ключевых слов нуждается как минимум в пустом элементе в массиве ключевые слова, я должен был добавить эту простую строку ниже кода выше:
array_push($keywords, "");
Таким образом, база данных хранит все правильные ключевые слова + пустое: "" , вот пример о том, как ключевые слова поля типа Arrat выглядят в базе данных:
[
"lorem",
"ad",
"ipsum",
"johndoe",
"" <-- this is the empty item that the SDK needs to properly perform a query in case of additional filters (in my case, a ParseGeopoint one)
]
Это может быть лишь временным приемом, пока разработчики Parse Server не исправят эту проблему. Это работает, так почему бы и нет;)