Comment retourner seulement de la valeur d'un champ dans mongodb
Après l'application de l'opération de recherche dans mongodb.. je obtenir la liste des documents..
db.users.find(....)
j'ai eu:
{ "text" : "Hey" }
{ "text" : "Hi" }
{ "text" : "Hello" }
{ "text" : "yes" }
Comment puis-je le convertir en
["Hey","Hi","Hello","yes"].
j'ai essayé
db.users.find(...).map( function(u) { return "u.text"; } )
mais c'est en donnant l'erreur!
Et en SQL ( par opposition à "noSQL" ) vous faites comment? Ce fait est à large une question d'être constructif pour tout le monde ici comme étant impossible sans post-traitement dans n'importe quel environnement.
désolé, mais je ne l'ai pas.. ce que vous essayez de dire
j'ai essayé db.les utilisateurs.trouver(...).map( function(u) { return "u.texte"; } ) mais c'est en donnant l'erreur!
Comment avez-vous éventuellement des valeurs de retour d'un mécanisme de stockage qui stocke ces valeurs sous touches sans retour de l' lui-même? C'est un principe de base de la générale "base de données" mécanismes de stockage au-delà d'un simple fichier texte. Vous devriez vraiment être googler et de la lecture plutôt que de vous poser cette question ici.
Et l'utilisation comme
désolé, mais je ne l'ai pas.. ce que vous essayez de dire
j'ai essayé db.les utilisateurs.trouver(...).map( function(u) { return "u.texte"; } ) mais c'est en donnant l'erreur!
Comment avez-vous éventuellement des valeurs de retour d'un mécanisme de stockage qui stocke ces valeurs sous touches sans retour de l' lui-même? C'est un principe de base de la générale "base de données" mécanismes de stockage au-delà d'un simple fichier texte. Vous devriez vraiment être googler et de la lecture plutôt que de vous poser cette question ici.
Et l'utilisation comme
map
comme vous l'avez décrit ci-dessus est appelé "post-traitement". Vous devez aussi apprendre à modifier votre question ici plutôt que de fournir les informations pertinentes dans les commentaires.
OriginalL'auteur shashank | 2014-05-15
Vous devez vous connecter pour publier un commentaire.
Pas sûr de ce que vous implémentation de langage est mais le concept de base est:
Et la valeur retournée
result
est:OriginalL'auteur Neil Lunn
Au premier
db.users.find(...).map()
n'a pas fonctionné parce quedb.users.find(...)
ne retourne pas de vous un vrai tableau.Donc vous devez le convertir au tableau lors de la première.
Alors si vous appliquez map() fonction
Un autre truc simple est de l'utiliser .forEach()
Cela fera l'affaire
OriginalL'auteur mohamedrias
vous pouvez utiliser
OriginalL'auteur Gagan Sidhu
Une autre option est de simplement utiliser
distinct
:Serait de retour:
OriginalL'auteur jchilders