2016-03-31 20 views
0

PHP ve MongoClient kullanarak, kullanıcıları tek bir organizasyonda nasıl listeleyeceğimi anlamaya çalışıyorum.PHP mongoDB aynı alan kullanıcısının kullanıcılarını listele

Tüm kullanıcılardan tüm kullanıcıları listeleyebilirim, ancak yalnızca kullanıcıları bir kuruluştan listelemek istiyorum.

Bu gibi belgeleri nasıl filtrelerim?

Belgem yapısı basittir:

<optgroup label="Employees"> 
<?php 
    $cursor = $collection->find($curr_org); 
    foreach($cursor as $curr_org) { 
      echo '<option name="name">'; 
       echo $curr_org['name']; 
      echo '</option>'; 
    } 
?> 
</optgroup> 

$ curr_org kuruluş adı içerir:

{ 
    "_id" : ObjectId("56fd6a77768d8864028b4578"), 
    "name" : "Jack Daniels", 
    "email" : "[email protected]", 
    "manager" : "John doe", 
    "password" : "$2y$10$cec5pzCghhhRdwPVnT/t4.EssfIbqighVqpZSa3jWPRV4gdfXUGDu", 
    "organization" : "Jane's Jeans" 
} 

Burada bir kuruluşla ilgili sadece almak sonuçlarına çalışıyorum benim kodudur.

$ curr_org öğesinin kaldırılması() tüm kuruluşlardan tüm kullanıcıları görüntüler.

Yardımlarınız için teşekkürler.

cevap

0

Sen ->find uygun argüman iletilmesi gerekir:

$cursor = $collection->find(['organization' => $curr_org]); 

diğer ayrıntılar için @malarzm geri almak için documentation

+0

Teşekkür kontrol edebilirsiniz. Bunu kullandığımda bir sözdizimi hatası ve boş bir sonuç alıyorum. Daha önce benzer $ imleç = $ collection-> find ($ curr_org ['organization']); bir sözdizimi hatası vermez, ancak aynı zamanda boş bir sonuç verir. Garip bulduğum şey, $ curr_org ['organization']; ve tek organizasyonu olsun. Bağlantınıza bir göz atacağım ve diğer varyasyonları deneyeceğim. – Dennis

+0

Anladım! $ cursor = $ collection-> bulmak (dizi ("kuruluş" => $ curr_org ['organizasyon'])); İpucu @malarzm için teşekkürler, doğru yolda beni aldın. – Dennis

+0

Maalesef, daha yeni bir PHP sürümüne sahip olduğunuzu varsaydım :) Offhand'i güncellemelisiniz, 5.3 gibi bir süredir desteklenmiyor – malarzm