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