2017-04-02 61 views
0

由於驅動程序版本的不同,目前有許多關於mongodb和php的相互衝突的帖子。我使用的驅動程序1.2.7,PHP 5.6和XAMPP最新的Mongodb搜索集合

最新的MongoDB這是我當前的代碼:

$filter = [ 'userID' => $myUserId, 'isSold' => true]; 

    $cmdOne = new MongoDB\Driver\Command([ 

     'distinct' => 'collectionNameHere', 
     'key' => 'productID', 
     'query' => $filter 

    ]); 

    $cursorOne = $connection->executeCommand('DatabaseNameHere', $cmdOne); 

    $products = current($cursorOne->toArray())->values; 

有沒有辦法找到非不同的結果?

這不起作用,由於不同的MongoDB驅動程序: MongoDB search in collection

回答

1

您對使用executeQuery與查詢過濾器和投影

$filter = [ 'userID' => $myUserId, 'isSold' => true]; 

$projection = ['projection' => ['productID' => 1]]; 

$query = new MongoDB\Driver\Query($filter, $projection); 

$cursor = $connection->executeQuery('DatabaseNameHere.CollectionNameHere', $query); 
+0

能否介紹一下第二行嗎? - 主要是1代表 – Gabrielus

+0

1/true將productID包含在輸出中。 0/false來排除。更多的投影規則在這裏https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/ – Veeram