2016-12-14 3 views
2

MongoDB 3.4 a la fonction de classement, qui peut être utilisé en trouver, comme ceci:MongoDB 3.4 classement dans PHP

db.myCollection.find({city: "new york"}).collation({locale: "en", strength: 2}); 

Peut-être trop nouveau, mais est-il possible de faire une requête de découverte en utilisant la collation dans PHP? Merci!

Répondre

2

Vous pouvez spécifier collation comme paramètre d'option pour .find()

$result = $collection->find(
    [], 
    [ 
     'collation' => [ 
      'locale' => 'en', 
      'strength' => 2 
     ] 
    ] 
); 
+0

Merci! Juste pour clarifier, je mets cela dans le même tableau que celui qui liste tous les champs que je veux retourner? donc ce serait [_id => 1, field_id => 1, collation => [....]] Droit? – Idan

+0

'[projection => [_ id => 1, ID_champ => 1], collation => [....]]' – styvane

+0

En procédant ainsi: 'array ('projection' => array ('fields' => 1), 'collation' => array ('locale' => 'en', 'force' => 2)) ' Obtient l'erreur suivante: ' PHP Erreur fatale: exception non interceptée 'MongoCursorException' avec le message 'localhost : 27017: Can not canonicalize query: BadValue: Option de projection non prise en charge: projection: {fields: 1} '' Une idée de ce que je fais mal? – Idan