Вы смотрели на ссылку ниже?
https://docs.mongodb.com/manual/reference/operator/query/or/
Там вы можете найти, как добавить несколько выражений в одном запросе. , Если вы хотите искать заголовки, где заголовок может быть равен A или B, используйте запрос, подобный этому: db.inventory.find( { $or: [ { title: "A" }, { title: "B"} ] } )
.
Редактировать
Если вам нужны данные из db для сопоставления обоих выражений в запросе, используйте что-то вроде этого: Product.find( { $and: [{ address:{city: "CityName"} }, { address: {country : "UK" } } ] } )
Вы спрашиваете о лучших практиках. Я полагаю, что хорошая практика в Вашем случае является подходом, приятно представленным theman: использование автоматизированного инструмента, вероятно, даст плохой результат: мусор в, мусор...
У Вас есть код: проанализируйте его в его широких строках при необходимости. И воссоздайте его в Java. Это могло бы быть трудоемким, но не обязательно хуже, чем путем выполнения слепого преобразования. И можно зарегистрировать на пути и возможно использовать этот анализ для нахождения проблематичных частей.
Это кажется, что Вы пытаетесь преобразовать кодекс PHP, который является процессуальным в кодовую базу OO.
Это не так вопрос PHP к Java, а скорее сдвиг парадигмы. Нет никакого автоматизированного способа сделать это, это будет грубым. Особенно, если одна кодовая база плохо записана.
Btw, я был бы также, почему Вы преобразовываете? Это - просто производительность? И если так, нет ли ничто, что можно сделать для устранения проблем производительности. Я не думаю, просто преобразовав от одного языка до другого, зафиксирует его, необходимо будет все еще найти узкое место.
Я изучал Groovy как язык перехода от PHP до Java. Они (разработчики Groovy) утверждают, что это компилирует в байт-код Java то же, как код Java был бы.
Это также менее строго, у них есть несколько примеров перевода на их веб-сайте.
Вы могли, вероятно, записать что-то с API Reflection, чтобы сделать часть этого, но Вы действительно ничего не могли сделать с телами функции - Вы закончите с тупиковыми классами, которые не имеют никакой реализации.
Я не могу предположить, что инструмент для этого является существующим. Я сделал что-то похожее с C++ und Java. Это - боль, но лучшее является к impement этим Вашим сам.
Или запишите это в C и создайте dll с jni сновальной машиной для вызова его от Java. Это должно быть fastet путем.
В зависимости от кода PHP это может быть почти невозможной задачей. Наоборот намного легче. PHP является очень динамическим языком, и можно сойти с рук вещи, которые невозможны в Java. Одна особенно разрушительная вещь состоит в том, что переменная PHP может изменить тип во время выполнения. Это редко используется, хотя, но это могло произойти. Кроме того, так как PHP свободно вводится, существует много неявных преобразований. Некоторые являются случайными, в то время как другие важны для значения программы. И затем существует то, что код PHP не строго объектно-ориентирован, как Java. Даже в объектно-ориентированных программах PHP, Вы будете обычно видеть определенную степень процедурных элементов. Они не могут быть отображены непосредственно на коде Java.
Как Pyrolistical, мне любопытно относительно того, почему необходимо преобразовать этот код? Если бы это - унаследованный код, разве не было бы лучше сохранить выполнение кода PHP и интерфейс с ним через некоторый сервисный интерфейс (SOAP, RPC, другие)? Вы могли затем постепенно заменять части со временем.
Я сказал это в вопросе о Подсказках по Оптимизации PHP, и я повторю его здесь: при выполнении PHP от статической среды (модуль веб-сервера или FastCGI), используйте кэш кода операции, такой как APC. Иначе PHP дал иное толкование/перекомпилировал Вашему коду каждого запроса!
Человек является лучшим инструментом.
Я попытался бы переписать php для удаления большинства php функций к чему-то C как. Затем Вам будет легко переписывать в Java.
Но я должен спросить, почему необходимо преобразовать php? Разве Вы не можете перенести php во что-то вызываемое от Java? Таким образом, Вы не добавите ошибок при преобразовании его.
Для полноты я должен указать, что существует время выполнения PHP для JVM. Выезд Quercus.
Вы могли бы рассмотреть отъезд Вашей текущей кодовой базы в PHP и просто том, чтобы заставлять это работать на JVM. Можно затем переписать код в Java по мере необходимости.
Caucho/Resin server converts PHP Code into Java servlets in run-time!
Я бы обычно использовал класс, созданный php5servlet, банку, доступную в tomcat и смоле.
Затем измените файл класса на Java.
приветствует