【问题标题】:How to retrieve MongoDB multiple array values in php?如何在 php 中检索 MongoDB 多个数组值?
【发布时间】:2016-12-28 16:49:00
【问题描述】:

我想检索 color 字段的所有值。 php如何处理这些值?

{
    _id : 1,

    color : ["red","blue","yellow"]
},
{
    _id : 2,

    color : ["green","black","grey"]
}

PHP 代码:

<?php

    $connect = new MongoClient();

    $collection = $database->database_name->collection;

    $cursor = $collection->find( array(), array( 'color' ) );

    foreach( $cursor as $val )

     echo json_encode( $val );

?>

因此它不返回任何值。如何获取数组值?

【问题讨论】:

    标签: php mongodb mongodb-query


    【解决方案1】:

    使用distinct 获取数组的不同值:

    $cursor = $collection->distinct('color');
    

    一个完整的例子:

    <?php
    
        $m = new MongoClient();
        $db = $m->selectDB("testDB");
        $cursor = $db->users->distinct('color');
        var_dump($cursor);
    
    ?>
    

    【讨论】:

    • 值作为单个值返回,我希望这些值作为数组返回。
    • 你的意思是喜欢["red","blue","yellow"],["green","black","grey"] 吗?
    • 好的!明白了,解决了。您的代码有效。忽略前面的评论。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 2012-01-16
    • 2016-10-31
    相关资源
    最近更新 更多