Je kunt het alleen doen met een aggregatieraamwerk, niet met regelmatig zoeken.
db.coll.aggregate({$project:{newField:{$concat:["$field1","$field2"]}}},
{$match:{newField:"value"}}
);
Merk op dat dit geen indexen kan gebruiken, aangezien er (nog) geen ondersteuning is voor indexen op berekende waarden in MongoDB.
Als je een index hebt op field1 en u weet hoeveel tekens u verwacht dat veld1 bijdraagt aan value u kunt de prestaties van deze aggregatie als volgt verbeteren:
db.coll.aggregate({$match:{field1:/^val/}},
{$project:{newField:{$concat:["$field1","$field2"]}}},
{$match:{newField:"value"}}
);
waar val is het eerste deel van de tekenreeks "waarde" (u mag niet meer tekens vergelijken dan de kortst mogelijke waarde van field1 hoewel.
BEWERKEN vanaf versie 3.6 kun je dit doen in find met behulp van de $expr uitdrukking:
db.coll.find({$expr:{$eq:["value", {$concat:["$field1", "$field2"]}]}})