Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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中';s MongoDB查询_Php_Mongodb_Mongodb Php - Fatal编程技术网

&引用;及;内;或;在PHP中';s MongoDB查询

&引用;及;内;或;在PHP中';s MongoDB查询,php,mongodb,mongodb-php,Php,Mongodb,Mongodb Php,与此类似,只是我使用php并获取[MongoCursorException]$或数组必须包含对象 也读一下这个 如何通过PHP将“AND”嵌套在MongoDB中的“OR”中?下面是我的条件参数(通过var\u导出): 需要组id中处于活动状态或(属于用户且未处于活动状态)的帖子列表 SQL非常简单,但无论我通过PHP查询在MongoDB中尝试哪种变体,我都会得到$or错误。这可能吗?是否需要$and?您的查询不正确。在JSON中,它看起来像 { "group_id" : "4eec13b

与此类似,只是我使用php并获取[MongoCursorException]$或数组必须包含对象

也读一下这个

如何通过PHP将“AND”嵌套在MongoDB中的“OR”中?下面是我的条件参数(通过var\u导出):

需要组id中处于活动状态或(属于用户且未处于活动状态)的帖子列表


SQL非常简单,但无论我通过PHP查询在MongoDB中尝试哪种变体,我都会得到$or错误。这可能吗?是否需要$and?

您的查询不正确。在JSON中,它看起来像

{ 
   "group_id" : "4eec13b5-aeb4-48ee-9619-449125af0e18",
   "$or" : [ 
                    [ { "active" : 0, "user_id" : "4eea7b76-5d34-4036-8344-120c0aaa1bdc" } ],
                    [ null, { "active" : 1 } ] 
           ]
}   
对于组id和处于活动状态或(属于用户且不处于活动状态)的组,应表示为:

{ 
   "group_id" : "4eec13b5-aeb4-48ee-9619-449125af0e18",
   "$or" : [ 
                    { "active" : 0, "user_id" : "4eea7b76-5d34-4036-8344-120c0aaa1bdc" },
                    { "active" : 1 } 
           ]
}   
或多或少,它在PHP中是这样的

array(
'group_id' => '4eec13b5-aeb4-48ee-9619-449125af0e18',
'$or' => 
     array (
        0 => 
           array (
               'active' => 0,
               'user_id' => '4eea7b76-5d34-4036-8344-120c0aaa1bdc',
           ),
        1 => 
           array (
               'active' => 1,
           )
     ),
)

谢谢直到我开始将php视为json,我才解决了这个问题。使用json在命令行测试查询是使用mongo解决问题的一个非常好的方法!
array(
'group_id' => '4eec13b5-aeb4-48ee-9619-449125af0e18',
'$or' => 
     array (
        0 => 
           array (
               'active' => 0,
               'user_id' => '4eea7b76-5d34-4036-8344-120c0aaa1bdc',
           ),
        1 => 
           array (
               'active' => 1,
           )
     ),
)