3 Stimmen

Mongodb-Abfrage aus php - kann nicht funktionieren

Ich versuche, eine einfache Mongodb-Abfrage zu machen, die mich verrückt macht.... Ich habe die folgende Tabelle/DB:

[_id] => MongoId Object (
    [$id] => 4f22efa1ef9dec8495b374bc
)
[h1] => a
[h2] => b
[h3] => c

[_id] => MongoId Object (
    [$id] => 4f22efa1ef9dec8495b374bd
)
[h1] => d
[h2] => e
[h3] => f

Verwenden Sie die Befehlszeile des Mongo-Tools und geben Sie ein:

db.things.find({$or: [{'h1' : 'a'},{'h1': 'd'}]})

Ich verstehe:

{ "_id" : ObjectId("4f22efa1ef9dec8495b374bc"), "h1" : "a", "h2" : "b", "h3" : "c" }
{ "_id" : ObjectId("4f22efa1ef9dec8495b374bd"), "h1" : "d", "h2" : "e", "h3" : "f" }

Das ist in Ordnung. Wenn ich jedoch versuche, das Gleiche von PHP aus zu tun, erhalte ich nichts:

$m = new Mongo();
$db = $m->selectDB('testdb');
$collection = new MongoCollection($db, 'things');
$query = array( '$or' => array( array('h1' => 'a')), 
                                array('h1' => 'd'));
$cursor = $collection->find($query);

Ich weiß nicht, was ich falsch mache, aber ich habe alles versucht (oder ich denke, so) für 3 Tage jetzt und es wird nicht funktionieren. Wenn ich Abfragen mit '>=' '<=' '<>' '<' '>' mache, funktioniert es gut, aber wenn ich '=' wie in diesem Fall verwende, funktioniert es nicht.

Vielen Dank für Ihre Bemühungen!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X