2011-03-24 6 views
1

Il y a quelque chose que je n'arrive pas à comprendre.Structure de tableau Mongodb

Lorsque je tente d'interroger un objet avec plusieurs champs, je ne donne aucun résultat. La structure de l'objet ressemble à ceci:

{ 
    "_id" : ObjectId("4d8b55f017a7303b0b000000"), 
    "title" : "Apollo", 
    "body" : "A spaceflight mission to the moon", 
    "tags" : [ [ "moon", "space", "nasa", "mission" ] ] 
} 

Voici ma requête:

db.test.find({ tags: { $all: ['moon', 'mission'] } }) 

Cependant, je n'obtenir le résultat en créant un nouvel objet avec un seul champ:

{ 
    "_id" : ObjectId("4d8b9e5935037b3c8228709c"), 
    "tags" : [ "apple", "banana", "pear" ] 
} 

.. avec la même requête que celle ci-dessus. ['Tags'] n'est pas imbriqué dans un autre tableau, alors pourquoi ne renvoie-t-il pas mes requêtes de recherche? S'il te plaît, éclaire-moi.

Sincèrement, Pourquoi

Répondre

3

Pourquoi utilisez-vous un tableau imbriqué

"tags": [[ "lune", "espace", "mission" "nasa",]]

ici?

Cela n'a aucun sens.

+0

Je résolus maintenant. C'était le problème le plus général oui. – why

0
db.test.find({ tags: { $all: [ ['moon', 'mission'] ] } })