Here's what my document looks like.
{
ID: "XYZ",
messages: [
{
ID: "AAA",
text: "this is a message"
},
{
ID: "BBB",
text: "this is a message"
},
{
ID: "CCC",
text: "this is a message"
},
{
ID: "DDD",
text: "this is a message"
},
{
ID: "EEE",
text: "this is a message"
},
{
ID: "FFF",
text: "this is a message"
},
{
ID: "GGG",
text: "this is a message"
}
]
}
And I want to aggregate and get messages for example from CCC to FFF
{
ID: "XYZ",
messages: [
{
ID: "CCC",
text: "this is a message"
},
{
ID: "DDD",
text: "this is a message"
},
{
ID: "EEE",
text: "this is a message"
},
{
ID: "FFF",
text: "this is a message"
}
]
}
So how is this possible?
$unwind,$match, and then$groupin your pipeline.