Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php查询MongoDB$_Php_Mongodb - Fatal编程技术网

使用php查询MongoDB$

使用php查询MongoDB$,php,mongodb,Php,Mongodb,我想用PHP从MongoDB中获取数据。在DB中,我有一个“readAccess”字段,其中包含一个ID为的数组。 我在MongoDB GUI客户端中成功测试了以下语句: db.myDB.find({ "location.parentLocationId": 808, "readAccess": { "$in": [12, 4] } }) 在PHP端,我将查询“翻译”为(仅限条件): 但是对于php版本的查询,我没有得到任何结果。。。 我看不出这些问题之间有什么区别。谁能给

我想用PHP从MongoDB中获取数据。在DB中,我有一个“readAccess”字段,其中包含一个ID为的数组。 我在MongoDB GUI客户端中成功测试了以下语句:

db.myDB.find({
  "location.parentLocationId": 808,
  "readAccess": {
    "$in": [12, 4]
  }
})
在PHP端,我将查询“翻译”为(仅限条件):

但是对于php版本的查询,我没有得到任何结果。。。 我看不出这些问题之间有什么区别。谁能给我一些帮助吗

谢谢大家!


菲利普

我找到了解决办法。。。$in中的数组键未格式化为整数。这就是为什么MongoDB没有输出任何内容的原因


谢谢你的帮助

如果$in是php变量,请使用双引号!对我来说,这看起来完全正确,事实上,我在自己的PHP应用程序中使用了这段代码。您确定查询正在到达服务器吗?查看MongoDB日志。我没有得到它,因为我面临着同样的问题。请发布一个解决方案
$cursor=$collection->find(数组(“客户端id”=>array($in”=>array(“D0242”))
不起作用
array(
  'location.parentLocationId' => 808,
  'readAccess' => array(
      '$in' => array(12, 4)
  )
)