Du kan kun gøre det med aggregeringsramme, ikke med almindeligt fund.
db.coll.aggregate({$project:{newField:{$concat:["$field1","$field2"]}}},
{$match:{newField:"value"}}
);
Bemærk, at dette ikke vil være i stand til at bruge nogen indekser, da der ikke er understøttelse af indekser på beregnede værdier i MongoDB (endnu).
Hvis du har et indeks på field1 og du ved, hvor mange tegn du forventer, at felt1 bidrager til value du kan forbedre ydeevnen af denne aggregering på denne måde:
db.coll.aggregate({$match:{field1:/^val/}},
{$project:{newField:{$concat:["$field1","$field2"]}}},
{$match:{newField:"value"}}
);
hvor val er første del af "værdi"-strengen (du må ikke sammenligne flere tegn end den kortest mulige værdi af field1 dog.
REDIGER fra version 3.6 kan du gøre dette i find ved at bruge $expr udtryk:
db.coll.find({$expr:{$eq:["value", {$concat:["$field1", "$field2"]}]}})