bcmcfc
bcmcfc

Reputation: 26805

Mongo equivalent of SQL's SELECT DISTINCT?

As per the title, what would be the PHP Mongo equivalent of something like this in SQL:

SELECT DISTINCT(field) FROM table WHERE someCondition = 1

I've read looked at this table but I don't see how to map db.users.distinct('last_name') into PHP.

Upvotes: 3

Views: 7791

Answers (2)

monofonik
monofonik

Reputation: 2845

If you need to add a where clause, use the following syntax:

$ages = $db->command(array(
    "distinct" => "people", 
    "key" => "age",
    "query" => array("someField" => "someValue")));

Upvotes: 4

alexn
alexn

Reputation: 59002

Just issue a command and set the distinct key.

Take a look at the following example from the docs:

Finding all of the distinct values for a key.

<?php

$people = $db->people;

$people->insert(array("name" => "Joe", "age" => 4));
$people->insert(array("name" => "Sally", "age" => 22));
$people->insert(array("name" => "Dave", "age" => 22));
$people->insert(array("name" => "Molly", "age" => 87));

$ages = $db->command(array("distinct" => "people", "key" => "age"));

foreach ($ages['values'] as $age) {
    echo "$age\n";
}

?>

The above example will output something similar to:

4
22
87

Upvotes: 4

Related Questions