[PHP/MongoDB] Find op reference

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een mongoDB collectie me daarin documenten die er ongeveer alsvolgt uitzien:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[_id] => MongoId Object (
)
[ID] => 4c7bc612cb8a540d13000000
[categorieID] => 4c76595bcb8a549326000000
[productsoortID] => 1
[bestandID] => 12
[soortMID] => Array (
    [$ref] => soort
    [$id] => MongoId Object (
    )
)
[title] => 
[description] => 
[keywords] => 
[wijzigingstijd] => 1283286661
[plaatsMID] => Array (
    [0] => Array (
        [$ref] => plaats
        [$id] => MongoId Object (
        )
    )
    [1] => Array (
        [$ref] => plaats
        [$id] => MongoId Object (
        )
    )
    [2] => Array (
        [$ref] => plaats
        [$id] => MongoId Object (
        )
    )
)


Ik probeer nu twee dingen te doen:

alle documenten zoeken waarvan de plaatsMID.provincie = 'Gelderland' en soortMID.naam = 'klein'. Ik kom er alleen niet uit hoe ik vanuit PHP een object was als dbRef is gelinkt kan doorzoeken. Volgens mij moet ik iets doen met $elemMatch maar ik zie niet hoe ik dat vanuit PHP moet gebruiken. Als ik het volgende probeer krijg ik een leeg array terug

code:
1
2
$s = array('plaatsMID' => array('$elemMatch' => array("provincie" => "Gelderland")));
$a = $coll->find($s);


Iemand enig idee ?

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
Geen idee of je een abstractie laag gebruikt, maar normaal moet je queries naar een mongoDB in json notatie versturen.

Dan zou dus iets krijgen als find.find( { plaatsMID.provincie : "Gelderland" } );


(btw, deze is presentatie vond ik wel vrij helder vanaf slide 20 :)

Driving a cadillac in a fool's parade.