2017-04-27 111 views
0

我有一個集合,如下所示, enter image description here如何查詢和填充文檔中的子文檔?

我要查詢和填充只審查,其中有FROMUSER用戶ID「233232」
現在我的助手類如下,

queryaggregateWithProject: function (model, matchedCond, prjCond) { 
      return new Promise(function (resolve, reject) { 
       model.aggregate([ 
        {$match: matchedCond}, 
        {$project: prjCond} 
       ], function (error, data) { 
        if (error) 
         reject(error); 
        resolve(data); 
       }); 
      }) 
     } 

什麼我應該通過matchedCond和projCond嗎?

模式

module.exports = function() { 
    var model = null; 
    var modelName = '_purchase'; 
    try { 
     model = dbService.getModel(modelName); 
    } catch (error) {  

     var userSchema = dbService.createEntityDef({ 
      userId: { 
       type: String 
      },    
      urlPicture: { 
       type: String 
      } 
     }); 
     var reviewSchema = dbService.createEntityDef({ 
      fromUser: userSchema, 
      toUser: userSchema, 
      rating: { 
       type: Number 
      }, 
      comment: { 
       type: String 
      } 


     }) 


     var purchaseSchema = { 
      _id: { 
       type: dbService.getPrimaryKeyType(), 
       index: true 
      }, 
      purchaseId: { 
       type: String 
      },   
      reviews: [reviewSchema] 

     }; 
     model = dbService.createModel(modelName, purchaseSchema, { 
      name: 'text' 
     }, modelName); 
    } 

    return model; 
}; 
+0

您可以粘貼架構定義文件嗎? – ifiok

+0

@ifiok添加的模式文件 –

回答

1

你matchedCond

{ fromUser.userid : "youruserid" } 

你projCond

{ document: "$$ROOT" } 

將與所有屬性返回的對象。

+0

它不返回任何東西 –

+0

不應該是reviews.fromUser.userid? –

+0

什麼是您的電子郵件ID?我在mongo查詢中有一些查詢。需要r幫助 –