0
MongoDBから始まっています。私の質問があまりにも基本的であれば申し訳ありません。私は、フィールドtipo
がfundo
に等しいですエントリのみが含まれているためにconta
のinvestimentos
配列をフィルタリングする
{
nome: "Diego", contas: [
{
banco: "itau",
tipo: "corrente",
investimentos: [{
tipo: "fundo",
transacoes: [{
numero: 1,
valor: 1000,
data: "24/06/2017"
},
{
numero: 2,
valor: 1500,
data: "01/02/2017"
}]
},
{
tipo: "poupanca",
transacoes: [{
numero: 1,
valor: 600,
data: "20/06/2017"
}]
}]
},
{
banco: "bradesco",
tipo: "poupanca",
investimentos: []
},
{
banco: "santander",
tipo: "juridica",
investimentos: [{
tipo: "pic",
transacoes: [{
numero: 1,
valor: 100,
data: "20/06/2017"
},
{
numero: 2,
valor: 100,
data: "20/05/2017"
},
{
numero: 3,
valor: 100,
data: "20/05/2017"
}]
}]
}]
}
そして: は、私は次のような構造を持つモンゴでコレクションを持っています。 私のクエリがあります:
db.teste.aggregate([
{
$project: {
nome: 1,
"contas.investimentos": {
$filter: {
input: "$contas.investimentos",
as: "investimento",
cond: { $eq: ["$$investimento.tipo", "fundo"]}
}
}
}
}]);
結果があります:
{
"_id" : ObjectId("59563cf574f77220ff2166ea"),
"nome" : "Diego",
"contas" : [
{
"investimentos" : []
},
{
"investimentos" : []
},
{
"investimentos" : []
}
]
}
結果がフィールド上investimentos
null
、なぜ私はundestandすることはできません。 私はサブアレイでの処理方法が間違っていると思いますが、ギャップがどこにあるのかわかりません。 誰かが私を助けることができますか?
のようなもののおかげ@Veeram! –