Si tengo un mongodb colección users como este:

{
  "_id": 1,
  "name": {
    "first" : "John",
    "last" :"Backus"
  },
}

¿Cómo puedo recuperar name.first de este sin proporcionar _id o cualquier otra referencia. También, es posible que tirar solo el nombre de^ me puede dar la matriz de embedded claves (primera y la última, en este caso)? Cómo puede lograrse esto?

db.users.find({"name.first"}) no funciona para mí, tengo una:

SyntaxError «falta: después de la id de la propiedad (shell):1

OriginalEl autor Swapnil | 2012-12-18

2 Comentarios

  1. 18

    El primer argumento a find() es el criterio de consulta, mientras que el segundo argumento de la find() método es una proyección, y toma la forma de un documento con una lista de campos para la inclusión o exclusión del conjunto de resultados. Usted puede especificar los campos que se incluyen (por ejemplo,{ field: 1 }) o especificar los campos para excluir (por ejemplo,{ field: 0 }). El _id campo está implícitamente incluido, a menos que expresamente excluidos.

    En su caso, db.los usuarios.find({nombre.primero}) dará un error ya que se espera que sea un criterio de búsqueda.

    Para obtener el nombre de json :
    db.users.find({},{name:1})

    Si desea recuperar sólo de nombre.primera

    db.users.find({},{"name.first":1})

    Mongodb Documentación enlace aquí

    Mientras que la usa en mongo shell al menos, tengo que poner comillas alrededor de «nombre.primera» en caso de que necesite recuperar sólo de nombre.primero

    OriginalEl autor Rahul

  2. 0

    Para obtener todos los detalles de registro:
    db.los usuarios.find({«nombre.primera»:»»})
    Para obtener sólo el nombre o campo específico:
    db.los usuarios.find({{},»nombre.X»:»»});
    donde X puede ser el primero, último .

    punto(.) puede ser utilizado si es necesario para recorrer el interior de la matriz para el valor de la clave par
    db.los usuarios.find({«nombre.en primer lugar._id»:»xyz»});

    OriginalEl autor Rajat Sharda

Dejar respuesta

Please enter your comment!
Please enter your name here