Je verwijst naar critere en misc op de location schemadefinitie voordat een van deze schema's wordt gedefinieerd. Dit veroorzaakt die ietwat cryptische fout, waarschijnlijk doordat mangoesten een ongeldige zoekopdracht in elkaar zetten vanwege de onverwachte undefined waarden in de schemadefinitie.
Verder weet ik niet wat je hier probeert te doen:
product = new ObjModel({
nomville: req.body.nomville,
description: req.body.description,
// Are the next two lines a mistake? It appears as though you're trying
// to create an object using the schemas.
quartier: [quartier],
critere: [misc],
});