Я ищу умный способ вернуть входной документ в агрегацию $facet
. Примерно так:
db.collection.aggregate([
{ <pipeline stage 1> },
{ <pipeline stage 2> },
{
$facet:
{
outputField1: [ output of <pipeline stage 2> ],
outputField2: [ { <pipeline stage 3> } ]
}
}
])
Я пробовал что-то вроде outputField1: [ $$CURRENT ]
, но не сработало.
На самом деле я нашел два обходных пути, но мне интересно, есть ли более разумный способ сделать это.
db.collection.aggregate([
{ <pipeline stage 1> },
{
$facet:
{
outputField1: [ { <pipeline stage 2> } ],
outputField2: [ { <pipeline stage 2> }, { <pipeline stage 3> } ]
}
}
])
db.collection.aggregate([
{ <pipeline stage 1> },
{ <pipeline stage 2> },
{
$facet:
{
outputField1: [ { $unset: "a_dummy_field_which_does_not_exist" } ],
outputField2: [ { <pipeline stage 3> } ]
}
}
])