Mongodb + PHP =>在多维数组中查找查询运算符

时间:2014-06-13 17:15:13

标签: php arrays mongodb multidimensional-array

我需要找到保存在Mongodb文档中的数组。

以下是文件:

{

 "hashtag" : "World",
 "topimages" : [ 
        {
            "cluster" : "france",
            "id_tw" : "477170636327227393"
        },
        {
            "cluster" : "france",
            "id_tw" : "477170636327227396"
        }

  ]

}

我想通过键“hashtag”搜索名为“World”的文档,已经在数组“topimages”中保存了一条推文,其id为“id_tw”,值为:“477170636327227393”

我要做的是:

$query = array('hashtag' => "World", array('topsimages.$.id_tw' => "477170636327227393"));
$xpmm->find($query);

我需要搜索一个名为“World”的文档是否已经通过他的密钥“id_tw”在数组“topimages”中保存了一条推文。

非常感谢。

解决方案:

$query = array('hashtag' => "france", 'topimages.id_tw' => "477170282852286464");

1 个答案:

答案 0 :(得分:0)

topimages.x仅在它是子文档而不是数组时才有效。您想要$elemMatchMongo DB Documentation

$query = array('hashtag' => "World", 'topsimages' => array("$elemMatch" => array("id_tw" => "477170636327227393")));