Luego de consultar especialistas en esta materia, programadores de deferentes ramas y profesores hemos dado con la solución a la pregunta y la dejamos plasmada en esta publicación.
Solución:
No estoy seguro de cuál es la implementación de su idioma, pero el concepto básico es:
var result = []
db.users.find().forEach(function(u) result.push(u.text) )
Y el valor devuelto a result
es:
["Hey","Hi","Hello","yes"]
Primero db.users.find(...).map()
no funcionó porque db.users.find(...)
no te devuelve un real array.
Entonces necesitas convertir a array primero.
db.users.find(...).toArray()
Entonces, si aplicas la función map () funcionará
db.users.find(...).toArray().map( function(u) return u.text ; )
Otro truco simple es usar .forEach ()
Esto hará el truco
var cursor = db.users.find(...); // returns cursor object which is a pointer to result set
var results = [];
cursor.forEach(
function(row)
results.push(row.text);
);
results //results will contain the values
Otra opción es simplemente usar distinct
:
db.users.distinct("first_name");
Volvería:
[
"John",
"Jennifer",
...
]
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)