2012-03-06 90 views
2

比方說,例如我有2個集合Comments和Users.The註釋包括用戶名和評論,用戶有用戶名和頭像。當檢索評論我也想顯示頭像時,我應該如何查詢兩個集合?我的第一個想法是獲得所有的評論,然後迭代通過用戶名和查詢用戶集合以獲得化身。我能以不同的方式做到嗎?使用nodejs和貓鼬從mongodb中的多個集合中獲取數據

回答

3

Populate可能是你在找什麼:

http://mongoosejs.com/docs/populate.html

粘貼一些在這裏爲後人: 的ObjectID現在可以參考其他文檔的集合在我們的數據庫中,並進行填充()d當查詢時。一個示例很有用:

var mongoose = require('mongoose') 
, Schema = mongoose.Schema 

var PersonSchema = new Schema({ 
    name : String 
    , age  : Number 
    , stories : [{ type: Schema.ObjectId, ref: 'Story' }] 
}); 

var StorySchema = new Schema({ 
    _creator : { type: Schema.ObjectId, ref: 'Person' } 
    , title : String 
    , fans  : [{ type: Schema.ObjectId, ref: 'Person' }] 
}); 

var Story = mongoose.model('Story', StorySchema); 
var Person = mongoose.model('Person', PersonSchema); 
+0

查詢結果將如何查找? – 2016-08-22 05:53:43

+0

你救了我的命! :d – Sparw 2016-12-01 13:50:16

3

如果我可以評論我會因爲這可能不是一個完整的答案。但對我來說, Database ReferencesMongoDB Data Modeling and Rails對這個話題總的來說是非常好的解釋。

但是你所描述的絕對是我發送的第一個鏈接中討論的內容。

相關問題