php中的mongo $无效

时间:2013-11-20 05:53:03

标签: php mongodb

我正在尝试使用PHP获得以下mongo查询工作。

$users = array(26549,42852);

        $db_mon_con = $mon_con->main;
        $collection = $db_mon_con->main_a;


  $cursor = $collection->find(array('userid' => 
                                    array('$in' => $users)
                                  )
                                  );

应该返回的文档之一如下:

{
"_id" : ObjectId("5284ef9a47ee3f45c73546f8"),
"id" : "22523",
"invitations" : [{
  "employerid" : "1481",
  "jobid" : "6272",
  "createdon" : "2013-09-10 21:31:39",
  "updatedon" : "2013-09-16 08:59:13",
  "status" : "rejected",
  "remarks" : "no activity"
}],
"name" : "ss",
"profilecompletion" : 0,
"userid" : "26549"
}

1 个答案:

答案 0 :(得分:1)

的类型不匹配:你将整数传递给你的查询,但存储在mongo中的userid是字符串("userid" : "26549"而不是{{1} }})。在使用它们进行查询之前,您需要将整数转换为字符串:

"userid" : 26549

或者,您可以确保无论您在何处插入$users = array("26549","42852"); ,都可以将其作为正确的整数插入。