PHP MongoDB在子数组中搜索

时间:2016-02-17 06:01:41

标签: mongodb php

数据存储在集合中,如下所示

 [field_1] => Array
                (
                    [fields] => Array
                        (
                            [0] => MongoInt64 Object
                                (
                                    [value] => 1233
                                )

                            [1] => MongoInt64 Object
                                (
                                    [value] => 1234
                                )

                        )

                )

我需要在现场搜索1234.

我在php中使用下面的代码来搜索

$param = array('field_1.fields.$' => 1234);

但这不起作用

1 个答案:

答案 0 :(得分:3)

您需要使用$ in查询条件来查找数组中的元素

$cursor = $collection->find(array("field_1.fields" => array('$in' => array("1234"))));

这将找到“fields”

中包含1234的所有项目

$ in doc:https://docs.mongodb.org/v3.0/reference/operator/query/in/