2012-12-02 5 views
1

Par exemple, mes documents sont comme:MongoDB sélectionner toutes les clés avec la valeur null

{key1: value, key2: value} 
{key1: value, key3: value} 
{key1: value, key3: value, key4: value} 

Je veux retourner une collection de tels résultats:

{key1: value, key2: value, key3: null, key4: null} 
{key1: value, key2: null, key3: null, key4: null} 
{key1: value, key2: null, key3: value, key4: value} 

Je ne sais pas si MongoDB peut revenir ce genre de résultat JSON en utilisant une sorte de requête? Je souhaite présenter le document sous une forme tabulaire, la valeur null sera vide dans une cellule de tableau.

Répondre

0

Avez-vous besoin d'être filtrer la base de données, semble plus facile de simplement le remplir avant de rendre la table. À mon humble avis pas de point d'imposer un schéma sur un schéma moins db

plutôt saisir les choses comme elles viennent et si quelque chose comme (MongoId)

<table> 

    <%=row.each do |r| %> 
    <tr> 
    <% r.fields.each do |f,v| %> 
    <%val = r.send(f) || "n/a"%> 
    <td><%=val %></td> 
    <%end%> 
    </tr> 
    <%end%> 
    </table> 

Edit: Sur la base des commentaires précieux ci-dessous j'ai pris le lien vers l'implémentation JS Il est préférable de traiter les données dans les couches supérieures. Mon point original reste cependant, vérifiez si vous obtenez des données significatives (comme vous le devriez de toute façon) et restituer en conséquence

+0

Même si la vôtre est la meilleure réponse ici ce lien ruine la réponse, il est extrêmement mauvais de faire ce gars spectacles et le moteur JS a de nombreuses failles non seulement cela, mais ce n'est pas une procédure stockée côté serveur et b. – Sammaye

+0

Désolé n'a pas vraiment lu, je viens de le trouver et je pensais que cela pourrait fonctionner:/Je n'aurais pas posté mais je voulais donner quelque chose dans JS ainsi que ruby ​​depuis l'OP a demandé à propos pur mongo –

+0

Yea compréhensible, je viens obtenir un peu de démangeaisons de ce lien en raison du nombre de personnes le croient réellement :) – Sammaye

Questions connexes