2016-05-28 80 views
0

我有源和目標客戶之間的帳戶連接的列表,以便我的架構看起來像查找使用貓鼬中間件

var ConnectionRequestSchema = new Schema({ 
    sourceAccountId: { 
    type: Schema.ObjectId, 
    ref: 'Account' 
    }, 

    targetAccountId: { 
    type: Schema.ObjectId, 
    ref: 'Account' 
    }, 

    status: { 
    type: String, 
    enum: ['pending', 'accept', 'decline'], 
    trim: true 
    } 
}); 

我想查詢所有文檔的文檔,其中價值在任何領域匹配,其中sourceAccountId或targetAccountId等於查詢的accountId。

我看到這個鏈接how-to-find-a-document-where-either-one-or-another-field-matches-a-value這與在Mongo中使用stand find方法查找文檔相關。

User.findOne({ 
    $or: [ 
     {first_name: name}, 
     {last_name: name}, 
    ], 
}, function(err, user) { 
    }) 

但我想這樣做使用Mongoose中間件,我不知道我將如何構造這種情況。

回答

2

已經找到解決方案,只需這樣寫

ConnectionRequest.find({ 
    $or: [ 
     {sourceAccountId: "5736eac90a39c2547cb9d911"}, 
     {targetAccountId: "5736eac90a39c2547cb9d911"}, 
    ], 
}, function(err, connection) { 
console.log(connection) 
    }) 

最後你得到的文件

+0

謝謝,我使用所有的中間件過濾器並沒有意識到被排列它們只是語法糖在標準貓鼬發現選項的頂部 –