0
我是MongoDB和Mongoose的全新軟件。我目前正在構建一個具有客戶端集合的應用程序,其中包含客戶端擁有的一組帳戶。基於多個子文檔的MongoDB/Mongoose查詢
我想根據客戶的帳戶的具體情況查詢集合。例如,我需要返回客戶端是:
- clientType: 「標準」
- 有兩個帳戶:
- ACCOUNTTYPE: 「臥槽」,餘額:$ GT 3000
- ACCOUNTTYPE : 「OMG」,餘額:$ LT 3000
下面是一個示例文件:
{
clientDetails: {
cardNumber: "",
firstName: "Bob",
lastName: "Dole",
clientType: "Standard"
},
accounts: [
{
accountNumber: "123",
accountType: "FML",
balance: 4000.00
},
{
accountNumber: "234",
accountType: "OMG",
balance: 2000
}
]
}
到目前爲止,我只找到了如何建立一個查詢,可以得到clientType的客戶「標準」與accountTypes [「臥槽」,「OMG]但我無法弄清楚如何指定特定accountTypes的平衡條件。
ClientModel
.find({
"clientDetails.clientType": "Standard",
"accounts.accountType": { $all ["FML", "OMG"]
})
.then(
function(){ //etc..},
function(err){ //etc...}
);
這很好。謝謝!我忘了提到客戶可能有很多帳戶。是否可以過濾不符合這些條件的帳戶? – chrisk
Np。我不認爲你可以處理常規查詢。您可能不得不使用聚合管道。看看這是否有幫助http://stackoverflow.com/questions/15117030/how-to-filter-array-in-subdocument-with-mongodb – Veeram
感謝您的幫助!我會看看。 – chrisk