Saltar al contenido

Cómo devolver solo el valor de un campo en mongodb

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *