Mongoose: Problema con DBRefs: ¿implementación incorrecta?

Creado en 28 ene. 2014  ·  3Comentarios  ·  Fuente: Automattic/mongoose

Hola,

Tengo un problema con la comprensión de algo o tiene errores.

Empecemos. Aquí hay documentación sobre DBRefs:
http://docs.mongodb.org/manual/reference/database-references/#dbrefs

Escriben que la estructura del documento con referencia debe ser:

{
  "_id" : ObjectId("5126bbf64aed4daf9e2ab771"),
  // .. application fields
  "creator" : {
                  "$ref" : "creators",
                  "$id" : ObjectId("5126bc054aed4daf9e2ab772"),
                  "$db" : "users"
               }
}

Ahora echemos un vistazo a este ejemplo (ejemplo1):
https://gist.github.com/hastebrot/1170907

Cuando ejecuto este código tengo algo así:
Historia:

    "title": "A man who cooked Nintendo",
    "_creator": {
        "$oid": "52e7dcea3d9cd59c13702e3d"
    },
    "_id": {
        "$oid": "52e7dceb3d9cd59c13702e3e"
    },
    "fans": [],
    "__v": 0

Gente:

    "name": "Aaron",
    "age": 100,
    "_id": {
        "$oid": "52e7dcea3d9cd59c13702e3d"
    },
    "stories": [],
    "__v": 0

El problema

En nuestro equipo tenemos una pequeña aplicación escrita en Java que usa la biblioteca para MongoDB, pero esta biblioteca guarda datos como en la documentación de MongoDB:

....//other fields
"user": {
        "$ref": "users",
        "$id": {
            "$oid": "52c6c497c08e6fcf37000001"
        }
    }

y no puedo completar los datos porque parece que solo funciona para la implementación de mongoose.

Corríjame si me equivoco, pero para mí es como si no guardara DBRef como se describe en la documentación.

new feature

Comentario más útil

¿Todavía no hay aportes de ningún desarrollador de Mongoose sobre este tema? Este es un problema recurrente que sigue apareciendo cuando tiene más de un controlador escribiendo y leyendo desde la misma base de datos.

El controlador Node admite DBRefs y me parece extraño que Mongoose todavía no tenga soporte para él.

Todos 3 comentarios

+1
Enfrentando el mismo problema con una aplicación php que usa la doctrina mongodb odm. Actualmente no puedo usar mi base de datos ya existente con mongoose porque los objetos mongodb DBRefs no se usan para almacenar referencias.
¿Tal vez debería agregarse otro tipo de esquema (Schema.DBRef?)?
Eso cargaría el documento con la información dada.

¿Todavía no hay aportes de ningún desarrollador de Mongoose sobre este tema? Este es un problema recurrente que sigue apareciendo cuando tiene más de un controlador escribiendo y leyendo desde la misma base de datos.

El controlador Node admite DBRefs y me parece extraño que Mongoose todavía no tenga soporte para él.

La compatibilidad con DBRefs para poblar no es realmente una alta prioridad porque los documentos de MongoDB recomiendan no usar dbref . Siempre puedes hacer las consultas tú mismo.

¿Fue útil esta página
0 / 5 - 0 calificaciones