Монго запрос не работает должным образом на сервере Linux PHP Монго Linux - PullRequest
1 голос
/ 06 ноября 2011

У меня есть запрос на монго, который хорошо работает на моей локальной машине на Windows

, но на сервере, который использует Linux, тот же запрос не работает

По не работает, я имею в видуон выполняется правильно, но не может найти данные, соответствующие этому критерию.

MDB::alloc()->{COLL_wall}->remove(
        array(
            '_id'   => new MongoId($wid),
            '$or'   => array(
                array(wall_owner    => $this->id),
                array(wall_writter  => $this->id)
            ),
            wall_owner  => $wallOwner
        ),
        array(
            'safe'  => true
        )
    );

в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 31 октября 2012

Скорее всего, проблема в том, что на вашем компьютере под управлением Linux версия mongo намного старше и по этой причине оператор "или" там не работает

Проверьте обе версии и при необходимости обновите.

0 голосов
/ 06 ноября 2011

Возможные проблемы: a) new MongoId($wid) немного странно, редко можно увидеть, как MongoID получает аргумент.$ wid - это 24 шестнадцатеричных символа, верно?Поскольку MongoID молча игнорирует все остальное и создает новый идентификатор, это может быть проблемой.

Во-вторых, с вашими типами данных все в порядке?Большинство жалоб на запросы Монго связано с тем, что целое число 1 не соответствует сохраненной строке «1».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...