mongo查询在linux服务器PHP mongo linux上无法正常工作

时间:2011-11-06 18:18:30

标签: php linux mongodb

我有一个mongo查询,在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 :(得分:0)

可能存在的问题:a)new MongoId($wid)有点奇怪,很少看到MongoID得到一个参数。 $ wid是24个十六进制字符,对吗?由于MongoID默默地忽略其他所有内容并创建一个新的id,这可能是一个问题。

其次,您的数据类型是否正常?对Mongo查询的大多数不满来自于整数1与存储的字符串“1”不匹配的事实。

答案 1 :(得分:0)

最有可能的问题是你的linux上的机器mongo的版本要老得多,因此“or”语句不能在那里工作

检查您的版本并在必要时升级。