0
私はMongoDBとMongooseの新機能です。私は現在、クライアントが持つアカウントの配列を含むクライアントコレクションを持つアプリケーションを構築しています。複数のサブ文書に基づくMongoDB/Mongooseクエリ
私はクライアントが持っているアカウントの詳細に基づいてコレクションを照会したいと思います。
- クライアントタイプ: "標準"
- は、2つのアカウントを持っている:
- accountType: "FML"、バランス:$ 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
}
]
}
これまでのところ、accountType ["FML"、 "OMG]でclientType" Standard "のクライアントを取得できるクエリを作成する方法しか分かりませんでしたが、特定の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