2012-11-30 6 views
3

ref DB fonctionne lorsque:objet Affichage au lieu de ObjectId db-ref lors de la création d'un nouvel élément dans MongoDB

Element. 
     findOne({unit: unit_id,). 
     populate('unit'). 
     exec(function(err, element) { 
     console.log(element) 
     } 

Il montrera

{ 
    "unit": { 
    "id": "10251179680282633", 
    "__v": 0, 
    }, 
    "_id": "50b92eec29921b2531000003", 
    "__v": 0, 
    "created_at": "2012-11-30T22:10:52.513Z" 
} 

Cependant, si je crée une nouvelle unité et de mettre mon unité dans mon élément et l'épargne,

unit = new Unit(); 
element = new Element() 
element.unit = unit; 

quand je fais:

console.log(element) 

il retourne:

{ 
    "unit": "50b9377d29921b2531000004", 
    "_id": "50b9377d29921b2531000005", 
    "created_at": "2012-11-30T22:47:25.361Z" 
} 

qui est pas ce que je pense parce que je voudrais voir l'unité comme un objet non comme une pièce d'identité.

Un conseil?

Répondre

1

Cela devrait

Dans votre console.log(element) exemple, element contient une référence à ObjectId
Il est Mongoose populate qui fait les smarts à obtenir le unit de sa propre collection, basée sur l'ID stocké dans votre element documents .

Cette page explique plus en détail
http://mongoosejs.com/docs/populate.html

Questions connexes