2016-01-20 7 views
0

У меня есть 2 коллекции, и они находятся в отношениях «один ко многим». Как я могу получить связанные данные в виде вложенного документа с помощью мангуста?NodeJS, Mongoose: Как получить связанные данные с помощью mongoose

У меня есть 2 схемы и они связаны между собой, как это ..

var userSchema = mongoose.Schema({ 
    name : String, 
    age : Number, 
}); 

var postSchema = mongoose.Schema({ 
    title: String, 
    body: String, 
    user: {type: mongoose.Schema.Types.ObjectId, ref:'User'} 
}); 

и есть данные в MongoDB ..

//user: 
{ 
    _id:"5694934cab2816601db06291", 
    name:"John", 
    age:16 
}, 
{ 
    _id:"5694934cab2816601db06292", 
    name:"Kim", 
    age:61 
} 

//post : 
{ 
    _id:"569494e5ab2816601db06293", 
    title:"hi", 
    body:"nice to meet you", 
    user:"5694934cab2816601db06291" 
}, 
{ 
    _id:"569494e5ab2816601db06294", 
    title:"hello", 
    body:"how are you", 
    user:"5694934cab2816601db06292" 
} 

Что является лучшим способом, чтобы получить результаты, как это с помощью мангуст ?

{ 
    _id:"569494e5ab2816601db06293", 
    title:"hi", 
    body:"nice to meet you", 
    user:{ 
     _id:"569494e5ab2816601db06294", 
     name:"John", 
     age:16 
    } 
}, 
{ 
    _id:"569494e5ab2816601db06294", 
    title:"hello", 
    body:"how are you", 
    user:{ 
     _id:"569494e5ab2816601db06292", 
     name:"Kim", 
     age:61 
    } 
} 
+2

Возможный дубликат [Как заполнить поддокумент в мангуста после его создания?] (HTTP: // StackOverflow .com/questions/13026486/how-to-populate-a-sub-document-in-mongoose-after-creation-it) – chridam

+1

Я бы посмотрел на этот другой ответ http://stackoverflow.com/questions/14363065/мангуст-MongoDB-запрос-присоединяется но-я пришел-с-а-SQL-фона – Autobat

ответ

1

Вы можете сделать это, заполнив User.

Вы можете попытаться заполнить пользователя в запросе:

Код:

post.find().populate('User').exec(function(err,post){ 
    console.log(post); 
    console.log(post.User); 
}) 
Смежные вопросы